We have an ASP.NET 4.0 application that we have been testing on internal servers for 6 months or so. Earlier this month, the server ( reliably and given a specific "if I do this I get that" scenario) began to no respond to requests from the application.
The application (and web page this behavior is occuring on) uses quite a bit of Ajax. When I perform the steps to duplicatate this issue, I can see (from the server under worker processes - requests) the request being "delayed", it says "ExecuteRequestHandler" under the State and "ManagedPipelineHandler" under the Module Name with a verb of POST. The time elapsed climbs to approx 130 seconds and then it disappears. When this happens, I can see subsequent requests being stacked, they all say "RequestAcquireState" under "State" and "Session" under "Module Name".
I turned off "friendly HTTP error messages (as suggested in Troubleshoot IIS7 errors like a Pro) and after I wait the 130 seconds and click a clear button on the page (which is supposed to just clear out the controls and session variables), I now see this error on the client: ReadResponse() failed: The server did not return a response for this request. I have used Fiddler to try and determine the cause, but can only see the same error (readresponse failed) as above.
Whats happening on the page to duplicate the error? We have a text box inside an update panel that (using the text changed event) formats the number as currency. Here is the snippit of code to do that work:
PrivateSub FormatAndUpdateAsCurrency(ByVal tbx AsTextBox,ByVal uPnl AsUpdatePanel,ByVal validator AsBaseValidator)
If IsNumeric(tbx.Text) Then
tbx.Text = FormatNumber(tbx.Text, 2)
ElseIf IsNothing(validator) = FalseThen
validator.Validate()
EndIf
EndSub
*****
More Information: I turned on Failed Request Tracing, and can see a 'warning' on "Module_Set_Response_Error_Status", with these details:
ModuleName | ManagedPipelineHandler |
---|---|
Notification | 128 |
HttpStatus | 500 |
HttpReason | Internal Server Error |
HttpSubStatus | 0 |
ErrorCode | 0 |
ConfigExceptionInfo | |
Notification | EXECUTE_REQUEST_HANDLER |
ErrorCode | The operation completed successfully. (0x0) |
Still More Information: We have been looking at the possibility of this being a network issue, so my colleague noticed he was noticing a (approx) 5% packet loss from pinging the server. This may or maynot be related or even an issue, but have deployed the same code on two different servers and on one server (web1) we (the developers) cannot get the page to stop receiving responses, but it does happen from users in a different physical location. On another server (web5) everyone can get the page to stop receiving responses.
We have been troubleshooting this issue for 8 days and have made very little progress. Any help you can provide is greatly appreciated.
Tc
(aka Mr. Gnarly Trout)