症状
假定您使用HttpWebRequest类或HttpClient类在.NET Framework 4.5 中向服务器发送请求。在此情况下,请求并分块是 HTTP 响应之后, 服务器连接已中断。
注意:应用以下知识库 (KB) 文章中介绍的更新后,通常会发生此问题︰
2750149有一个更新程序的 Windows 8、 Windows RT 和 Windows Server 2012 中.NET Framework 4.5: 2013 年 1 月
解决方案
若要确保HttpWebRequest类和HttpClient类重用连接,必须在新请求之前耗尽从连接的整个 HTTP 请求响应。若要处理此问题,应用以下方法之一︰
-
请确保您发送新的请求之前完全耗尽的响应流。例如,收到的分块的响应时,应用程序读取响应流直到读的方法在流上返回"0 字节读取。
注意:这种方法需要安装任何其他更新。 -
安装此更新可还原 KB 2750149 中的修补程序在安装之前相同的行为。当应用程序关闭响应流时, HttpWebRequest类尝试耗尽的响应。如果此操作成功,将为下一个请求重复使用连接。
修补程序信息
受支持的修补程序现已从 Microsoft 推出。但是,它旨在纠正本文介绍的问题。它仅应用于正经历此特定问题的系统。
若要解决此问题,请联系 Microsoft 客户支持服务以获取此修复程序。有关 Microsoft 客户支持服务的电话号码和有关支持费用的信息的完整列表,请访问下面的 Microsoft 网站︰
http://support.microsoft.com/contactus/?ws=support注意: 在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能取消的通常情况下收取的电话支持服务费用。照常收取支持费用将应用于其他支持问题和对于特定更新无法解决的问题。
系统必备组件
若要应用此修补程序,您必须具有 Microsoft.NET Framework 4.5 安装。
重启要求
如果在安装过程中使用了受影响的文件在应用此修补程序后,必须重新启动计算机。我们建议您关闭所有应用程序使用.NET Framework,然后再应用此修补程序。
此修补程序的全球版本具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
对于所有受支持的基于 x86 的 Windows 8 的版本
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
对于所有受支持的基于 x64 的 Windows 8,Windows Server 2012 版本
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:58 |
x86 |
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |