需求:写一个Windows服务,定时从指定的URL抓取返回内容,分析抓取的结果。
代码如下:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
//设置request
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//处理response
遇到的问题:服务启动后第一次抓取没有问题,后面都没有响应,debug跟踪到上面第二行GetResponse()时,无反应,未抛出异常,但也不继续执行。
解决方法:WebResponse使用完后必须调用Close()方法(或相应的Stream.Close()方法)关闭响应,否则可能会出现上述问题。