首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用队列处理WebException

用队列处理WebException
EN

Stack Overflow用户
提问于 2014-12-27 17:28:20
回答 3查看 64关注 0票数 1

我有一个小小的C#项目,它在互联网上用WebRequest发送独特的数据,并得到一个HttpWebResponse。现在我想处理的情况,没有互联网连接,或其他认为数据无法发送或接收。

在我看来,这是尝试/捕捉中使用Webexception来处理这个问题的最佳方法。

但是它在Webexception上很重要,程序会记住该操作,如果可以再次访问internet或服务,请再试一次。

在你看来,实现这一点的最好方法是什么?

我读过关于排队的书..。如果Webexception将抛出,如果再次可以访问服务,可能会将操作放入队列中,然后再试一次。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-27 19:47:25

@Denis我发现这个问题很有趣,我试了一下。

https://dotnetfiddle.net/2lx8FI

  • 通过将List<string>转换为IObservable序列来推送队列.Thread.Sleep控制从队列中读取项的频率。
  • WebException的情况下,我们等待“一段时间”并将URL添加回List<string>
  • 从用户输入中读取URL只是为了测试目的。

我希望它能帮上忙

票数 0
EN

Stack Overflow用户

发布于 2014-12-27 17:37:27

计时应该能工作。当抛出异常时,重置计时器。当间隔发生时,您可以再次尝试连接。

票数 0
EN

Stack Overflow用户

发布于 2014-12-27 17:46:37

我认为一个简单的方法是创建一个循环来调用一个布尔方法,如果在这个循环中出现异常,返回false,然后循环继续。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27669676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档