我們有一個在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