0

我正在尝试关闭与某个 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声明中,但我这样做是为了查明问题。

4

1 回答 1

0

尝试这个:

// after finished uploading
ftpWebRequest.Abort();   // <=== MAGIC PART
// before ftpStream.Close()

这里(还有这个 SO answer)。

于 2017-07-24T15:08:14.640 回答