2014-12-27 53 views
1

我有一个C#项目它发送WebRequest在互联网网站上的唯一数据,并取回HttpWebResponse。现在我想处理没有互联网连接或其他认为数据无法发送或接收的情况。处理与队列的WebException

在我看来,它是处理try/catch中的Webexception的最好方法。

但是它对Webexception很重要,程序记住这个动作,如果互联网或服务可以再次访问,请再试一次。

您认为最好的方法是什么?

我阅读了关于队列... 也许如果Webexception将抛出并再次尝试服务可再次到达队列中的行动?

回答

0

@Denis我发现这个问题很有意思,我有一个想法。通过转换List<string>IObservable 序列

https://dotnetfiddle.net/2lx8FI

  • 基于推送的队列。 Thread.Sleep控制从 队列中读取项目的频率。
  • WebException的情况下,我们等待“一段时间”并将URL添加回List<string>
  • 从用户输入中读取URL仅用于测试目的。

我希望它有帮助

0

Timer应该工作。当抛出异常时,重置定时器。当间隔时,你可以尝试重新连接

0

我认为,一个简单的方法是创建一个循环来调用一个布尔方法,如果这里面的这个发生异常返回false和循环继续