【转】System.Net.HttpWebRequest请求超时的问题解决方法

在网络上搜索了一些WinForm环境下进行Web请求(Request)的方法,简单的应用并没有发现什么问题。

但是我需要使用多线程对不同的的Url进行请求,以获得Web数据。

实践发现每次请求完两个页面url后都会出现超时的问题。

网上搜索了一下,开始是说把HttpWebRequest的请求对象的ServicePoint.ConnectionLimit(同时请求的数量,默认为2)设置的高一点。

设置高了以后超时的问题的确就没出现了。

本以为程序好用了,可以长时间应用后又出现了超时问题,很明白又达到同时请求的上限。

看来HttpWebRequest请求对象不会自行销毁(当初网上给代码的人也没写上销毁方法)最后把程序中的每一个应用到Request请求对象和Response的响应对象调用其销毁方法,关闭连接,当然当初的请求对象的ServicePoint.ConnectionLimit属性也不需要设置的那么高了。

request.Abort();//销毁关闭连接
response.Close();//销毁关闭响应

posted @ 2010-09-14 17:00  NoRoadZH  阅读(3531)  评论(0编辑  收藏  举报