代码改变世界

用完HttpWebResponse时别忘了调用Close方法

2006-11-29 15:43  无常  阅读(2346)  评论(0编辑  收藏  举报

在做自动更新程序时想省点事,直接使用HttpWebRequest和HttpWebResponse从服务器上下载更新的文件。 使用时注意Close响应流:

  1. 使用HttpWebRequest.GetResponse()取得HttpWebResponse接口后,必须要记得调用HttpWebResponse.close关闭流。
  2. 如果使用HttpWebResponse.GetResponseStream()取得响应流的话,那么使用此Stream的Close方法来关闭也是一样。
  3. 如果是使用StreamReader.ReadToEnd()从响应流中读取文本,则在读取完内容后会自动关闭流。

 

MSDN中这样描述HttpWebResponse.close方法:

Close 方法关闭响应流并释放到资源的连接以供其他请求重用。

您必须调用 Stream.Close 或 HttpWebResponse.Close 方法来关闭流并释放连接以供重用。不必同时调用 Stream.Close 和 HttpWebResponse.Close,但这样做不会导致错误。关闭该流失败会导致应用程序用尽连接

连接限制好像是最大2个,不知是IIS的限制还是本地HttpWebRequest的限制。