【发布时间】:2016-05-03 06:26:11
【问题描述】:
我正在尝试关闭与某个 ftp 的 ftp 连接,但它只是挂起……永远!
- 它只发生在 1 个 FTP 服务器上,所以我假设该服务器的设置有问题。代码在其他服务器上运行良好。
- 仅当我上传的文件很大 (180mb) 时才会发生。当文件较小时,连接可以正常关闭。
- 目标 FTP 服务器正在运行 220 ProFTPD 1.3.4a 服务器 (Debian)
- 对于大文件,开始时间:15:53:18.701。结束时间:16:00:22.179;大约 7 分钟。
- 180MB 文件已 100% 上传.. 所以我尝试关闭连接以完成传输,然后继续我的代码。
代码如下:
using (var ftpStream = await ftpWebRequest.GetRequestStreamAsync())
{
await inputStream.CopyToAsync(ftpStream);
_loggingService.Debug("Closing service....");
ftpStream.Close();
_loggingService.Debug("Closed..");
}
是的,我知道我真的不需要打电话给.Close();,因为我在using 声明中,但我这样做是为了查明问题。
【问题讨论】:
-
你的方法签名是什么样的?
-
Enable logging 和 show 是日志。 + 您尝试等待多长时间? + 为简单起见,您可以使用同步流进行调试吗?
-
您是否正在使用 FTP over SSL?
-
@Castaglian nope - 不是。
-
@MartinPrikryl 老兄。伙计!很棒的建议!!所以我打开它并开始看到
FtpWebRequest低流量.. 但没有什么特别突出的。我看到了 BeginFtpWebRequest 或者它为 STOR 调用的任何东西,然后什么都没有。请注意,这是在 Azure Web 作业中,所以所有这些 frickin webjob-http 日志记录噪音/垃圾邮件我必须与之抗争/尝试过滤掉......