应用对象
Windows 7 Enterprise Windows 7 Enterprise N Windows 7 Professional Windows 7 Professional N Windows 7 Ultimate Windows 7 Ultimate N

症状

在计算机上运行 Windows 7,您将遇到一个或多个以下症状。症状 1请考虑以下情形:

  • 运行在服务器使用 Microsoft.NET Framework 2.0 Service Pack 2 (SP2) 的异步 Web 服务。

  • HttpWebRequest异步操作将 Web 请求发送到 Web 服务。

  • Web 服务会引发异常。

在这种情况下, HttpWebRequest异步操作不会调用BeginGetResponse方法或回调函数。不过,是意外完成HttpWebRequest异步操作。然后,Web 服务停止响应。此外,在服务器上的 CPU 使用率可能会增加到 100%,然后在服务器停止响应。症状请考虑以下情形:

  • 运行 Microsoft.NET Framework 2.0 SP2 基于应用程序调用 Web 服务通过使用 Microsoft ASP.NET Web 服务客户端组件。例如,由 Wsdl.exe 过程中,生成的应用程序代码或应用程序调用SoapHttpClientProtocol类。

  • 客户端异步调用 Web 服务调用。

  • 客户端向服务器发送一个请求。

  • 然后,客户端接收包含零长度的内容的 Web 响应。

当 Web 服务尝试处理此响应在这种情况下时, System.ArgumentNullException将异常。然后,您会收到以下错误消息︰

值不能为空。

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

原因

症状 1由于.NET Framework 异常处理不会考虑的这样的HttpWebRequest.EndGetRequestStream方法引发一个异常,该异常包含来自服务器的响应时,将发生此问题。

解决方案

修补程序信息

受支持的修补程序现已从 Microsoft 推出。但是,它旨在纠正本文介绍的问题。它仅应用于正经历此特定问题的系统。若要下载此修补程序,请访问下面的 Microsoft 连接 Web 站点︰

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息

有关"症状 1"一节中描述的问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

973134解决︰ Web 服务停止响应,并且在运行基于.NET Framework 2.0 S 异步 Web 服务时,将引发异常有关"症状 2"一节中描述的问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

973136解决︰ ArgumentNullException 异常错误信息时基于.NET Framework 2.0 S 的应用程序尝试处理带有空内容对异步 ASP.NET Web 服务请求的响应:"值不能为空"

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。