Я написал класс, который использует сборку C# WinSCP .NET.WinSCP .NET assemblysies - Тайм-аут для Session.GetFiles для исключения исключения
Класс сохранения WinSCP Session
как поле, и когда я вызываю функцию «Start» класс инициализирует WinSCP Session
и открывает его, а затем повторно вызывает Session.GetFiles
каждые 2 секунды.
Я хочу обрабатывать все исключения в моем классе, и есть один случай, я не могу получить исключение.
Дело в том, что я запускаю свой класс, он подключается к FTP-серверу и начинает многократно искать файлы для загрузки (перечисление, которое происходит в Session.GetFiles
). Через несколько раз он вызывает GetFiles
Я отключил FTP-сервер. В следующий раз вызывается GetFiles
, программа зацикливается на методе блокировки (GetFiles
), который ждет, пока сервер снова встанет. Только через 1,5-2 минуты он выдает SessionRemoteException
с сообщением: «Соединение не может быть сделано, потому что целевая машина активно отказалась от него».
Я хочу, чтобы это было выброшено через 10 секунд после блокировки, а не случайно 1,5-2 минуты.
Я пробовал использовать каждый метод Timeout, упомянутый на веб-сайте WinSCP.