我们有一个在IIS中运行的ASP.NET Web应用程序,它使用SoapHttpClientProtocol类来进行SOAP调用。在最近几天,几个XP机器在进行SOAP服务调用时已经开始报告超时错误。来自IIS 5.1(XP)的SOAP服务调用超时
堆栈跟踪从一个测试应用程序:
System.Net.WebException: The operation has timed out
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at TestWS.localhost.Service1.HelloWorld() in C:\Prototypes\TestWS\Web References\localhost\Reference.cs:line 78
at ASP.default_aspx.__Renderform1(HtmlTextWriter __w, Control parameterContainer) in c:\Inetpub\wwwroot\TestWS\Default.aspx:line 17
使用TCP /跟踪和Wireshark我们可以看到,请求的报头中被发送而不是内容。但是,内容长度HTTP参数是正确的,就好像内容流没有被刷新一样。
我们怀疑Microsoft更新导致了此问题。可能,KB971737和KB968389。该问题似乎与IIS 5.x(IIS的XP版本)隔离。
“WebRequest”中存在一些错误http://regis.decamps.info/blog/2010/12/c-bug-in-webrequest/ – rds 2011-01-03 18:17:35