J'ai an ASP.NET application running on a client server (W2k3, IIS6, .NET 2.0). FWIW, this is a Test instance, it n'a pas been moved into Production yet. So it is pas running under SSL, load balancing, etc.
When I access one of le pages on leur server depuis our office, le page gets hit once. Inspecting le IIS logs (c:WINDOWS\system32\LogFiles\W3SVC1) show a GET for that page, alors I push a button on le page et le log file shows a POST. This seems to be working fine so far.
Now quand I remote into le client's network et access le page depuis one of leur local machines, le log file shows a GET, alors I push le button on le page et le log shows two POSTs at le même second. The premier one shows status (sc-status, sc-substatus, sc-win32-status) 200 0 64, le second shows 200 0 0.
In le log file, les deux POSTs are identical. Basically le log looks like this (except I masked certains of le data):
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-08-11 20:19:32 x.x.x.x GET /File.aspx - 80 - y.y.y.y Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+WOW64;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.21022;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618;+MDDR;+OfficeLiveConnector.1.4;+OfficeLivePatch.0.0) 200 0 0
2009-08-11 20:19:45 x.x.x.x POST /File.aspx - 80 - y.y.y.y Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+WOW64;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.21022;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618;+MDDR;+OfficeLiveConnector.1.4;+OfficeLivePatch.0.0) 200 0 64
2009-08-11 20:19:45 x.x.x.x POST /File.aspx - 80 - y.y.y.y Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.0;+WOW64;+Trident/4.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.21022;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618;+MDDR;+OfficeLiveConnector.1.4;+OfficeLivePatch.0.0) 200 0 0
The problem is, le page is getting hit twice. The database performs an operation for le premier request, alors le second request detects that a duplicate operation is being performed et throws an error message. The users think leur operation failed, mais it actually succeeded.
The error description of sc-win32-status 64 is: "The specified network name is no longer available." This leads me to believe, given that les deux POST requests show an HTTP status of 200, that le server is successful in serving le request, mais le client is jamais notified et resubmits le request.
-
How can I troubleshoot this?
-
Any ideas what could be causing this behavior on leur internal network only?
-
I should mention, this is happening at two separate client sites, mais does pas happen at six of our autre client sites, ou in our office, ou connecting to tout of our eight clients over le web.
-
What could be making this reproducible 100% of le time on leur local network mais 0% of le time anywhere else?
Update: J'ai trouvé a très small number of le duplicated POST requests had sc-win32-status of 995 à la place of 64 as originally reported. The error description of sc-win32-status=995 is: "The I/O operation has been aborted parce que of soit a thread exit ou an application request." This ne make tout sense (considering J'ai full access to le code). I encore ne understand how ou why this issue is occurring, mais le nouveau error code leads me to believe it may pas be a network issue après tous et Je suis now investigating le possibility of a random code bug.