1

我们正在使用Cerberus FTP 服务器。对于客户端,我使用SSH.NET库连接到服务器并上传文件。大多数情况下,我都能毫无问题地连接文件并将文件上传到 FTP 服务器。

但是,当 FTP 服务器上不存在目标路径时,SSH.NET 库会按预期抛出异常。但是 Exception 的 Message 属性是空的。

var sftpClient = new SftpClient(host,username,password);
sftp.connect();
var destination = "SomeInvalidPath\myfile.txt"
using (var fs = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read))
{
      try
      {
         sftp.UploadFile(fs, destination);                        
      }
      catch (Exception ex)
      { 
         // ex.Message is empty ???
         Logger.Current.Error(ex, "Error while FTP");             
      }                
}

不确定这个 SSH.NET 库问题或 FTP 服务器是否需要将错误传播回客户端?

更新 1

堆栈跟踪

" 在 Renci.SshNet.Sftp.SftpSession.RequestOpen(字符串路径,标志标志,布尔 nullOnError)\r\n 在 Renci.SshNet.SftpClient.InternalUploadFile(流输入,字符串路径,标志标志,SftpUploadAsyncResult asyncResult,操作1 uploadCallback)\r\n at Renci.SshNet.SftpClient.UploadFile(Stream input, String path, Action1 uploadCallback) \r\n 在 XXXXXX

4

0 回答 0