症状
请考虑以下情形:
- 运行基于 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 产品中存在问题。