我想用HttpWebRequest对象进行“长轮询”。处理网络断开
在我的C#应用程序中,我使用HttpWebRequest发出HTTP GET请求。然后,我等待beginGetResponse()的响应。我正在使用ThreadPool.RegisterWaitForSingleObject等待响应或超时(1分钟后)。
我已经设置了目标Web服务器需要很长时间才能响应。所以,我有时间断开网线。
发送请求后,我拉网线。
当发生这种情况时,是否有办法获得异常?所以我不必等待超时?
而不是一个例外,超时(从RegisterWaitForSingleObject)发生在1分钟超时已过期后。
有没有办法确定网络连接故障?目前,这种情况与Web服务器花费1分钟以上的时间进行响应的情况没有区别。
它有一点帮助,但它似乎像HttpWebRequest应该知道(迟早)如果它的TCP连接已经关闭。 – 2012-02-09 19:27:05
为什么不扩展HttpWebRequest以添加此功能?但如果你问的是本地.NET框架,那么不,我不认为HttpWebRequest包含这样的功能。 – Yannis 2012-02-09 19:37:16