c# - 从 Azure FTP 传输到另一个 FTP 站点时出现问题

标签 c# asp.net .net azure ftp

我尝试在 Azure 网站上使用 FtpWebRequest 和 EnterpriseDT.Net.Ftp,希望将字节数组从 FileUpload 传递到另一个 FTP 站点。

这适用于本地服务器,因此也适用于 VM,但无法在 Azure 网站上运行。诚然,我们正在努力避免添加虚拟机或额外的 Azure 存储帐户的成本。

该端口似乎在 Azure 上被阻止,但在本地服务器上对我们开放。

[IOException:无法在超时 120000 毫秒内连接到 XXX.XXX.XXX.XXX:21] EnterpriseDT.Net.StandardSocket.InternalConnect(端点远程EP,Int32超时)+272 EnterpriseDT.Net.StandardSocket.Connect(EndPoint RemoteEP, Int32 超时) +350 EnterpriseDT.Net.Ftp.FTPControlSocket.ConnectSocket(BaseSocket套接字,字符串地址,Int32端口)+66 EnterpriseDT.Net.Ftp.FTPControlSocket.Initialize(BaseSocket sock,字符串remoteHost,Int32 controlPort,Int32超时,Encoding编码)+57 EnterpriseDT.Net.Ftp.FTPClient.Connect(字符串remoteHost,Int32 controlPort,Int32超时)+407 EnterpriseDT.Net.Ftp.FTPClient.Connect() +43 EnterpriseDT.Net.Ftp.FTPConnection.Connect() +456 XXXXX.XXXXX.XXX.XXXXX.FtpUpload(字符串Id, 文件上传文件, 字符串ftpServer, 字符串ftp用户名, 字符串ftpPass, 字符串域名) +371

有谁知道如何通过 .net FtpWebRequest 或第三方库来实现这一点?

最佳答案

如果您使用:ftp://{sitename}.azurewebsites.net,则 Azure 网站的 FTP 端口 (21) 会被直接阻止,要获取该网站的正确 FTP 配置文件,您需要下载其发布设置,在那里您可以找到地址、用户名和密码。

有关获取发布配置文件的信息位于:http://blogs.msdn.com/b/avkashchauhan/archive/2012/06/26/deploying-windows-azure-website-using-visual-studio-web-publish-wizard.aspx

我还建议您使用 scm 站点 (https://{sitename}.scm.azurewebsites.net) 的 VFS 端点来上传文件,这样您就可以使用更可靠的 https 协议(protocol)。

VFS API: https://github.com/projectkudu/kudu/wiki/REST-API#vfs

有关您的 scm 站点的更多信息: http://blogs.msdn.com/b/windowsazure/archive/2014/03/04/windows-azure-websites-online-tools-you-should-know-about.aspx

关于c# - 从 Azure FTP 传输到另一个 FTP 站点时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22528584/

相关文章:

c# - Dapper & MS Access - 读取有效,写入无效

asp.net - 如何更新另一个更新面板中的控件?

c# - 在扩展范围内继续和中断

c# - 重定向到错误页面并显示用户友好错误

c# - 如何将上传的图片保存到数据库中?

c# - 如何在C#中设计一个不会失效的DataType

c# - 使用 FolderBrowserDialog 限制对某些文件夹的访问

c# - 我应该在 Task.Run 操作中的 Task.Delay 上使用 ConfigureAwait(false) 吗?

c# - 集合被修改;枚举操作可能无法执行。 C#

c# - wpf为按钮默认样式添加样式属性