症状
在计算机上运行 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 服务请求的响应:"值不能为空"