gpt4 book ai didi

c# - HttpWebResponse:关闭流

转载 作者:行者123 更新时间:2023-11-30 14:04:36 26 4
gpt4 key购买 nike

我收到来自 HttpWebRequest 的回复(使用修改后的版本 Jeff Richter's CCR wrappers ),然后检查一些 header 以决定是否继续下载。有时我可能不想继续,所以我因此发出 response.Closerequest.Abort .是否有必要发出GetResponseStream然后关闭流,或者当调用 response.Close 时这是隐含的?

发出 GetResponse 后,docs state :

You must call the Close method to close the stream and release the connection. Failure to do so may cause your application to run out of connections.

那么这是否意味着一旦我们有了响应,就必须获取流并关闭它?

我们发现了一些相当奇怪的问题,即挂起的下载最终会淹没系统。这似乎是资源泄漏的最有力候选者,但想知道是否还有其他人遇到过此问题。

顺便说一句:假设它是同一个流,两次 GetResponseStream 是否安全?

最佳答案

调用 HttpWebResponse.Close隐式关闭响应流。

来自文档:

The Close method closes the response stream and releases the connection to the resource for reuse by other requests

You must call either the Stream.Close or the HttpWebResponse.Close method to close the stream and release the connection for reuse. It is not necessary to call both Stream.Close and HttpWebResponse.Close, but doing so does not cause an error. Failure to close the stream can cause your application to run out of connections.

对于您的双重 GetResponseStream 问题,尽管 documentation没有明确提及它,无论您调用它多少次,它总是会返回相同的流对象。

关于c# - HttpWebResponse:关闭流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com