我有一个小小的C#项目,它在互联网上用WebRequest发送独特的数据,并得到一个HttpWebResponse。现在我想处理的情况,没有互联网连接,或其他认为数据无法发送或接收。
在我看来,这是尝试/捕捉中使用Webexception来处理这个问题的最佳方法。
但是它在Webexception上很重要,程序会记住该操作,如果可以再次访问internet或服务,请再试一次。
在你看来,实现这一点的最好方法是什么?
我读过关于排队的书..。如果Webexception将抛出,如果再次可以访问服务,可能会将操作放入队列中,然后再试一次。
发布于 2014-12-27 19:47:25
@Denis我发现这个问题很有趣,我试了一下。
https://dotnetfiddle.net/2lx8FI
List<string>转换为IObservable序列来推送队列.Thread.Sleep控制从队列中读取项的频率。WebException的情况下,我们等待“一段时间”并将URL添加回List<string>我希望它能帮上忙
发布于 2014-12-27 17:37:27
计时应该能工作。当抛出异常时,重置计时器。当间隔发生时,您可以再次尝试连接。
发布于 2014-12-27 17:46:37
我认为一个简单的方法是创建一个循环来调用一个布尔方法,如果在这个循环中出现异常,返回false,然后循环继续。
https://stackoverflow.com/questions/27669676
复制相似问题