Обработка WebException с очередью
У меня есть небольшой проект на C#, он отправляет уникальные данные с помощью WebRequest на интернет-сайт и возвращает HttpWebResponse. Теперь я хочу разобраться с ситуацией, когда нет подключения к интернету или другие думают, что данные не могут отправлять или получать.
На мой взгляд, это лучший способ справиться с этим с помощью Webexception в try / catch.
Но это важно для Webexception, программа запоминает действие и пробует снова, если интернет или услуга снова доступны.
Как, по вашему мнению, лучше всего это реализовать?
Я читал об Очереди... Может быть, поместить действие в Очередь, если Webexception сработает, и попробовать снова, если Служба снова станет доступной?
3 ответа
@ Денис Я нашел этот вопрос интересным, и у меня был шанс.
https://dotnetfiddle.net/2lx8FI
- Push-очередь, путем преобразования
List<string>
дляIObservable
последовательность.Thread.Sleep
контролирует, как часто элемент читается из очереди. - В случае
WebException
, мы ждем некоторое время и добавляем URL обратноList<string>
- Чтение URL-адресов из пользовательского ввода только для целей тестирования.
Я надеюсь, что это помогает
Я думаю, что простой способ - создать цикл для вызова логического метода, если внутри этого происходит исключение, возвращает false и цикл продолжается.
Таймер должен работать. Когда выдается исключение, сбросьте таймер. Когда интервал наступает, вы можете попробовать снова подключиться