|
1金钱
本帖最后由 speed2018 于 2015-7-14 16:40 编辑
【转】System.Net.HttpWebRequest请求超时的问题解决方法
在网络上搜索了一些WinForm环境下进行Web请求(Request)的方法,简单的应用并没有发现什么问题。
但是我需要使用多线程对不同的的Url进行请求,以获得Web数据。
实践发现每次请求完两个页面url后都会出现超时的问题。
网上搜索了一下,开始是说把HttpWebRequest的请求对象的ServicePoint.ConnectionLimit(同时请求的数量,默认为2)设置的高一点。
设置高了以后超时的问题的确就没出现了。
本以为程序好用了,可以长时间应用后又出现了超时问题,很明白又达到同时请求的上限。
看来HttpWebRequest请求对象不会自行销毁(当初网上给代码的人也没写上销毁方法)最后把程序中的每一个应用到Request请求对象和Response的响应对象调用其销毁方法,关闭连接,当然当初的请求对象的ServicePoint.ConnectionLimit属性也不需要设置的那么高了。
request.Abort();//销毁关闭连接
response.Close();//销毁关闭响应
请问站长,httphelper里应该如何处理这个问题??????????????????
另外Timeout设置时间的作用是超过指定的时间就停止响应吗??
|
|