修复:ArgumentNullException 异常错误消息时,基于.NET Framework 2.0 SP2 的应用程序尝试处理对异步 ASP.NET Web 服务请求的零长度内容的响应:“值不能为 null”

应用对象
.NET Framework 3.5 Service Pack 1

症状

请考虑以下情形:

  • 运行基于 Microsoft .NET Framework 2.0 SP2 的应用程序,该应用程序使用 Microsoft ASP.NET Web 服务客户端组件调用 Web 服务。 例如,应用程序的代码由 Wsdl.exe 生成,或者在应用程序中调用 SoapHttpClientProtocol 类。
  • 客户端异步调用 Web 服务调用。
  • 客户端向服务器发送请求。
  • Web 服务返回包含零长度内容的响应。

在此方案中,当 Web 服务尝试处理此响应时,
 System.ArgumentNullException 异常与以下错误消息一起引发:

注意

值不能为 null。

注意 客户端同步调用 Web 服务调用时,不会出现此问题。

解决方法

Microsoft 提供了一个受支持的修补程序。 但此程序只用于解决本文中提到的问题。 将此修补程序仅应用于遇到此特定问题的系统。

若要下载此修补程序,请访问以下Microsoft Connect 网站:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=20922

先决条件

必须安装 .NET Framework 2.0 Service Pack 2 (SP2) 或 .NET Framework 3.5 SP1 才能应用此修补程序。

重启要求

安装修补程序后,无需重新启动计算机。

修补程序替代信息

此修补程序不替换任何其他修补程序。

文件信息

此修补程序的英文版具有下表中列出的文件属性 (或更高版本的文件属性) 。 这些文件的日期和时间以协调世界时 (UTC) 格式列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。

文件名 文件版本 文件大小 日期 时间
System.Web.Services.dll 2.0.50727.4055 839,680 2009 年 7 月 17 日 09:22

          

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。