WinSCP . net程序集—会话超时.GetFiles抛出异常

本文关键字:超时 GetFiles 抛出异常 会话 net 程序集 WinSCP | 更新日期: 2023-09-27 18:18:53

我编写了一个使用c#的类。net程序集。

这个类正在将一个WinSCP Session保存为一个字段,当我调用函数"Start"时,这个类初始化一个WinSCP Session并打开它,然后每2秒重复调用一次Session.GetFiles

我想处理类中的所有异常情况,但有一种情况我不能得到异常。

的情况是:我运行我的类,它连接到FTP服务器,并开始反复寻找文件下载(清单发生在Session.GetFiles)。在它调用GetFiles几次之后,我关闭了FTP服务器。下一次调用GetFiles时,程序会卡在一个阻塞方法(GetFiles)上,该方法正在等待服务器再次启动。仅在1.5-2分钟后,它抛出一个SessionRemoteException,消息为:"无法建立连接,因为目标机器主动拒绝它"

我希望这个在10秒阻塞后抛出,而不是随机的1.5-2分钟。

我尝试了所有在WinSCP网站上提到的超时方法。

WinSCP . net程序集—会话超时.GetFiles抛出异常

需要设置Session.ReconnectTime。默认为120秒。

session.ReconnectTime = TimeSpan.FromSeconds(10);