1

我编写了一个使用 C# WinSCP .NET 程序集的类。

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

我想处理班级中的所有异常情况,但有一种情况我无法获得异常。

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

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

我尝试使用 WinSCP 网站中提到的每种超时方法。

4

1 回答 1

1

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

session.ReconnectTime = TimeSpan.FromSeconds(10);
于 2015-10-22T05:56:58.650 回答