我正在将 SharpSSH 集成到现有的 .NET 2.0 项目中。所以不能切换到http://sshnet.codeplex.com/或者其他更新的库...
我拥有与设备进行单一连接的一切工作,并且可以毫无问题地运行命令和上传文件。
但是因为这个工具必须能够同时更新多个设备,所以应用程序同时启动多个sharpssh连接。然后一切都继续工作,但有时文件没有完全上传,并抛出错误“会话已关闭”。
SshTransferProtocolBase tx = new Scp(_hostname, _username, _password);
tx.Connect();
tx.OnTransferProgress += new FileTransferEvent(tx_OnTransferProgress);
tx.Put(sshSource.FullName, "/tmp/" + Path.GetFileName(sshTarget));
// --> tx.Put throws the error
当像这样用“new Sftp”替换“new Scp”时
SshTransferProtocolBase tx = new Sftp(_hostname, _username, _password);
错误消息是:“输入流已关闭”或“会话已关闭”
关于如何避免这种情况的任何想法?
非常感谢,弗兰克