c# – 应该关闭/处理WebException.Response.GetResponseStream()
发布时间:2020-12-15 08:32:16 所属栏目:百科 来源:网络整理
导读:当我捕获.NET WebException时,我应该关闭/处置Response.GetResponseStream()吗? MSDN example不会在例外情况下关闭或处置任何内容. 许多SO answers建议处理响应和/或流. 我处理了流,这引起了很大的问题.因为GetResponseStream()(总是?/有时?)返回相同的实
当我捕获.NET WebException时,我应该关闭/处置Response.GetResponseStream()吗?
MSDN example不会在例外情况下关闭或处置任何内容. 许多SO answers建议处理响应和/或流. 我处理了流,这引起了很大的问题.因为GetResponseStream()(总是?/有时?)返回相同的实例.因此,当我获得响应流然后处理它时,可能会将异常重新抛出到另一个层,该层也会获得响应流,它将被处理掉并且不可读并因此而抛出更多异常. 解决方法
您应该处置该流,因为它可能拥有资源.但只有当你完成它时才处理掉它.在您不再需要流之前,只需停止处理它.让流的最后一个用户处理它.
也许,您应该只调用一次GetResponseStream()并明确地传递流,以便明确它是相同的流. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |