当前位置: 首页 > 编程语言 > C#

HttpWebResponse:关闭流共享

时间:2023-04-11 00:15:59 C#

HttpWebResponse:关闭流我从HttpWebRequest获得响应(使用JeffRichter的CCR包装器的修改版本),然后检查一些标头以决定是否继续下载。有时我可能不想继续,所以我相应地发出response.Close和request.Abort。是否有必要发出GetResponseStream然后关闭流,或者这在调用response.Close时是隐含的?发出GetResponse后,文档指出:您必须调用Close方法来关闭流并释放连接。如果不这样做可能会导致您的应用程序用完连接。那么这是否意味着一旦我们得到响应,就需要获取流并关闭它?我们已经看到了一些相当奇怪的问题,即待处理的下载最终会使系统不堪重负。这似乎是资源泄漏的最有力候选者,但想知道是否还有其他人遇到过此问题。旁白:假设它是同一个流,两次GetResponseStream是否安全?事实上,调用webResponse.Close()将关闭响应流。Response是IDisposable,我建议你使用claims。调用HttpWebResponse.Close隐式关闭响应流。来自文档:Close方法关闭响应流并释放与资源的连接以便与其他请求重用您必须调用Stream.Close或HttpWebResponse.Close方法来关闭流并释放连接以供重用。不必同时调用Stream.Close和HttpWebResponse.Close,但这样做不会导致错误。未能关闭流可能会导致应用程序用完连接。至于你的双重GetResponseStream问题,虽然文档没有明确提到它,但无论你调用它多少次,它总是会返回相同的流对象。做一些类似WCF连接的事情上面是C#学习教程:HttpWebResponse:关闭流分享的所有内容,如果对大家有用需要详细了解C#学习教程,希望大家多加关注——//完成服务,让我们关闭它。尝试{如果(client.State!=System.ServiceModel.CommunicationState.Faulted){client.Close();}}catch(Exceptionex){client.Abort();}本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: