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

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

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

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

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

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

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

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

版权声明:本文为NoRoad原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/NoRoad/archive/2010/09/14/1826088.html