0

我正在从客户端的 SFTP 下载文件。当我从 Filezilla 执行此操作时,它总是以标准方式成功。

另一方面,当我从我们的应用程序中执行此操作时,该应用程序使用 Tamir SharpSSH 库进行 SFTP 通信,当我们对文件的所有下载尝试都失败时,会不断出现一段时间。

我知道该应用程序可以正常工作,因为该代码几个月没有更改,并且它的工作频率要高得多,但是当一整天或更长时间所有文件下载仅针对该应用程序失败时,这些时间段会不断重新出现。

我得到的例外是 Tamir.SharpSsh.jsch.SftpException 。显然不是很有帮助。

我的猜测是客户正在他们这边进行修改或更改权限,因为他们这边还没有上线,但是我不知道异常消息。

有人有什么建议吗?我在哪里可以找到解决方案?我应该测试/尝试什么?

谢谢你的时间!

4

1 回答 1

1

真正的信息是“没有这样的文件”。原因是,在我们的一个配置文件中,根文件夹路径省略了斜杠。当您在 VS Watch 中打开异常变量时,您将看到标准异常中的所有信息属性为空或简单地设置为“Tamir.SharpSsh.jsch.SftpException”。

但是,显然在 Tamir.SharpSsh.jsch.SftpException 类中添加了一个附加属性 - “消息”,这是存储真实消息的位置,而 Exception.Message 通常设置为“Tamir.SharpSsh.jsch.SftpException” . 问题是附加属性是私有的,只有 VS Watch 或类似的才能看到。

由于我们的异常传播机制是基于记录 Exception.Message 我大部分时间得到“Tamir.SharpSsh.jsch.SftpException”

于 2015-07-07T13:22:22.653 回答