IIS bricht den Anforderungsthread mit dem Status 995 ab

10

Wir haben eine Site, auf der wir Probleme auf unserem Produktionsserver haben, aber nicht auf meinem Entwicklungscomputer, wenn die Anforderung abgebrochen wird (daher keine Antwort).

Es schlägt jedes Mal nach genau 1:19 Minuten fehl und die Anforderung auf meinem Entwicklungscomputer dauert ca. 1:44.

Die Inhaltslänge beträgt ca. 650 KB, das sollte also kein Problem sein.

Die Produktionsumgebung ist Windows 2008 mit IIS7, die Entwicklungsumgebung ist Windows 7 mit IIS 7.5

Die haben identische web.config, aber die Maschinenkonfiguration unterscheidet sich geringfügig (obwohl sie Standard von der Installation sein sollten)

Was könnte das verursachen?

Wenn Sie in das Zugriffsprotokoll schauen, sagt die Zeile 0 Byte als Antwort auf den Win32-Code 995, der 0 sein sollte. Dies sind die letzten Spalten aus der Zugriffszeile:

sc-status sc-substatus sc-win32-status sc-bytes time-taken
200       0            995             0        76933

995 scheint mit "Thread abgebrochen" oder so etwas zu tun zu haben, daher bin ich mir ziemlich sicher, dass es IIS ist, das die Anforderung abbricht. Der Prozess w3wp.exe scheint einige Zeit zu laufen, selbst nachdem die Anforderung gestoppt wurde. Ich glaube, die Webanwendung bemerkt dies erst, wenn es Zeit ist, in den Ausgabestream zu schreiben.

BEARBEITEN: Habe es jetzt mit verschiedenen Verbindungen versucht und es scheint, als ob meine Firewall die Verbindung wegen fehlender Daten (vorzeitig) trennt. Daher der 995-Code.

Jishi
quelle
Der Standardwert für "minBytesPerSecond" ist 240, was zu 46 Minuten führen würde. Möglicherweise werden stattdessen einige dynamisch angepasste Zeitüberschreitungen angezeigt (IIS führt dies basierend auf dynamicIdleThreshold aus, wenn nicht 0).
eckes

Antworten:

0

Ich habe das gleiche Problem, in meinem Fall ist der Netzwerkadapter die Ursache für den sc-win32-Status 995. Was haben Sie in der Firewall geändert, um dies zu verhindern? Im Geräte-Manager => Netzwerkadapter => Eigenschaften => Erweitert können Sie mehrere Netzwerkeinstellungen vornehmen

Cerveser
quelle
In unserer Firewall war ein ALG für HTTP konfiguriert, das die Verbindung nach 120 Sekunden unterbrach, wenn keine Daten durch sie flossen. Ich habe es gerade für die betreffende IP deaktiviert.
Jishi
0

Versuchen Sie, die Einstellung "executeTimeout" in ASP.NET zu überprüfen. Der Standardwert dafür scheint 110 Sekunden zu sein, was dem entspricht, was Sie melden:

http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

Dies könnte eine dieser Konfigurationen sein:

  • Machine.config
  • Web.config auf Stammebene
  • Web.config auf Anwendungsebene
  • Web.config auf virtueller oder physischer Verzeichnisebene

Hoffe das hilft.

Mark Wragg
quelle