gpt4 book ai didi

Azure - 网站 - WebJob - 主动 FTP 下载

转载 作者:行者123 更新时间:2023-12-03 04:36:22 25 4
gpt4 key购买 nike

我正在使用 Windows Azure 网站和 Web 作业。

我有一个控制台应用程序,用于每晚下载 FTP 文件。他们最近从被动 FTP 切换为主动 FTP。我对此没有任何控制权。

所附代码在我的计算机上适用于被动模式和主动模式。但是,当我将其添加到 Azure 上的 webjob 时,它不起作用。

在此代码中,我能够获取内容长度,因此我可以正确登录并且拥有正确的 URL。

     Dim request As FtpWebRequest = DirectCast(FtpWebRequest.Create(strTempFTPUrl), FtpWebRequest)

request.Method = WebRequestMethods.Ftp.GetFileSize
Dim nc As New NetworkCredential(FTPUserName, FTPPassword)
request.Credentials = nc
request.UseBinary = True
request.UsePassive = False
request.KeepAlive = True
request.Proxy = Nothing

' Get the result (size)
Dim resp As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
Dim contLen As Int64 = resp.ContentLength

' and now download the file
request = DirectCast(FtpWebRequest.Create(strTempFTPUrl), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.DownloadFile
request.Credentials = nc
request.UseBinary = True
request.UsePassive = False
request.KeepAlive = True
request.Proxy = Nothing

resp = DirectCast(request.GetResponse(), FtpWebResponse)

我收到的错误是这样的:

底层连接已关闭:接收时发生意外错误。这发生在第二个“resp = DirectCast(request.GetResponse(), FtpWebResponse)”

有人对我能做什么有什么建议吗?

编辑:据我所知,这不是虚拟机,我无法控制防火墙。这是一个标准的网站。非常感谢!

最佳答案

我也遇到了同样的问题,我可以通过增加每个点的连接限制来解决。默认情况下它设置为 2 我增加到 10

req.ServicePoint.ConnectionLimit = 10;

如果遇到超时问题,还可以更改属性 timeout 和 readwritetimeout。

下面是与我们类似的案例的链接。

How can I programmatically remove the 2 connection limit in WebClient

关于Azure - 网站 - WebJob - 主动 FTP 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com