2017-01-17 74 views
0

我一直在使用Renci SSH NET的.NET DLL,它将文件从本地机器传输到安全FTP。它对于小文件工作正常,但是在通过我的应用程序上传大文件时出现问题。我增加了缓冲时间,操作超时但仍不能上传。当我调试我的代码时,它停留在我正在上传&的地步,它甚至不会抛出任何错误。Renci SSH NET上传大文件失败

有什么建议吗?

感谢

回答

0

根据您的描述,目前还不清楚是否由您的代码或通过SFTP服务器的问题,所以我想建议:

  1. 使用FTP客户端上传相同文件到SFTP服务器,看看是否可以。
  2. 如果没有问题,那么你可以使用网络监视工具,如wireshark,tcpdump,来检查问题是否是由网络不稳定造成的。
  3. 此外,通过使用网络监视工具,您可以检查上传过程是否每次都在同一个点停止。

希望这会有所帮助。

+0

我的代码运行良好,因为当我测试小于1 MB的小文件时,它们会上传到SFTP。我在想这个问题是由DLL引起的。你是否尝试过使用这个Renci SSH组件至少有20MB大文件。 – ashveli

+0

是的,我在Win10(VS 2015)上使用SSH.NET版本2016.0.0测试SFTP上传,在CentOS 7.3上使用sshd。代码来自[https://gist.github.com/piccaso/d963331dcbf20611b094](https://gist.github.com/piccaso/d963331dcbf20611b094)。一个65 MB的文件可以成功上传。所以我相信DLL应该没问题。 –

+0

是的Caleb,DLL Version 2016.0.0正在从Windows 7开始工作。但是如果它兼容或不兼容,我将不得不在Server 2003中检查它。另外,是否有可能增加上传速度。我尝试上传100 MB的文件,缓冲区大小为16 KB,时间跨度为1800秒,上传需要大约35分钟。 – ashveli