UPDATE: I found out that it is not an issue with azure rather the other party who are actually doing white-listing on incoming connection.使用FtpWebRequest从Azure托管应用程序上传文件到外部FTP站点
我实现了一个服务,该服务通过打开和ftp连接将文件上传到远程FTP服务器。 该代码完美运行在我的桌面上(!),但是,如果我将其发布到Azure托管云并使用完全相同的参数执行,我会收到WebException消息'远程服务器返回错误:(530)未登录“。我还没有在Azure控制台中找到任何相关设置。我也尝试了不同的设置,如开/关保持和被动,但结果是一样的。你们有什么想法可以解决这个问题吗?
参考代码:
Dim request As FtpWebRequest
request = TryCast(WebRequest.Create($"ftp://{_host}/inventory/{_uploadFilename}"), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(_username, _password)
request.UsePassive = True
request.UseBinary = True
request.KeepAlive = False
Using fs As FileStream = File.OpenRead(_fileName)
Dim buffer As Byte() = New Byte(fs.Length - 1) {}
fs.Read(buffer, 0, buffer.Length)
fs.Close()
Dim requestStream As Stream = request.GetRequestStream()
requestStream.Write(buffer, 0, buffer.Length)
requestStream.Flush()
requestStream.Close()
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
Return Ok($"Remote server response: {response.StatusDescription}")
End Using
[启用日志记录](http://stackoverflow.com/q/9664650/850848)并向我们显示来自桌面和Azure的日志。 –