Statusserver protokolliert Ereignis-ID 1072 oder Ereignis-ID 1076

In diesem Artikel können Sie das Problem beheben, bei dem ereignis-ID 1072 oder 1076 auf Zustandsservern protokolliert wird.

Ursprüngliche Produktversion: Microsoft .NET Framework
Ursprüngliche KB-Nummer: 308097

Symptome

Eines der folgenden Ereignisse wird im Anwendungsereignisprotokoll des Zustandsservercomputers angezeigt, wenn der Zustandsservermodus Sitzungszustand in ASP.NET verwendet wird. Dies geschieht, wenn der Webserver oder der Computer, auf dem der Zustandsserver ausgeführt wird, unter hoher Belastung steht.

Ereignistyp:Fehler
Ereignisquelle:ASP.NET 1.0.3306.0
Ereigniskategorie:Keine
Ereignis-ID:1072
Datum:12.9.2001
Zeit: 16:00:25 PM
Benutzer: n/v
Computer: ComputerName
Beschreibung:
Fehler beim Verarbeiten einer Anforderung im Zustandsserver. Hauptaufrufliste: EndOfRequest. Fehlercode: 0x80072746

Hinweis

Die in der vorherigen Ereignismeldung erwähnte Version des .NET Framework ist eine Vorabversion des .NET Framework 1.0.

Ereignistyp:Fehler
Ereignisquelle:ASP.NET 1.0.3306.0
Ereigniskategorie:Keine
Ereignis-ID:1076
Datum:12.9.2001
Zeit: 16:02:05 PM
Benutzer: n/v
Computer: ComputerName
Beschreibung:
Der Zustandsserver hat eine abgelaufene TCP/IP-Verbindung geschlossen. Die IP-Adresse des Clients ist 127.0.0.1. Der abgelaufene Lesevorgang begann am 12.09.2001 um 16:02:00 Uhr.

Hinweis

Die in der vorherigen Ereignismeldung erwähnte Version des .NET Framework ist eine Vorabversion des .NET Framework 1.0.

Ereignistyp: Fehler
Ereignisquelle: ASP.NET 1.1.4322.0
Ereigniskategorie: Keine
Ereignis-ID: 1078
Datum: 06.10.2005
Zeit: 11:03:47 AM
Benutzer: Nicht zutreffend
Computer: ComputerName
Der Zustandsserver hat eine abgelaufene TCP/IP-Verbindung geschlossen. Die IP-Adresse des Clients ist 127.0.0.1. Der abgelaufene Lesevorgang begann am 06.10.2005 um 11:03:25 Uhr.

Ursache

Bei Verwendung des Zustandsservermodus Sitzungszustand in ASP.NET kommuniziert der ASP.NET Webserverprozess auf dem Webserver mithilfe von WinSocket über TCP/IP (Transmission Control Protocol) mit dem Zustandsserver. Standardmäßig legt der Webserverprozess den Timeoutwert aller TCP/IP-Vorgänge zum Senden und Empfangen auf 10 Sekunden fest. Ebenso wird für den Zustandsserver nach 10 Sekunden ein Timeout für alle TCP/IP-Vorgänge gesendet und empfangen.

Wenn der Webserver oder der Zustandsserver jedoch eine hohe CPU-Auslastung (fast 100 Prozent) aufweist, kann ein TCP/IP-Vorgang mehr als 10 Sekunden dauern und wird daher vor Abschluss abgebrochen. Daher wird eines der oben genannten Ereignisse protokolliert, und die ursprüngliche Clientanforderung schlägt fehl. Der Zustandsserver protokolliert die Ereignis-ID 1072, wenn für den ASP.NET Webserverprozess ein Timeout für einen TCP/IP-Vorgang auftritt. Wenn für den Zustandsserver ein Timeout bei einem TCP/IP-Vorgang auftritt, protokolliert der Zustandsserver die Ereignis-ID 1076.

Lösung

Um den Timeoutwert des TCP/IP-Vorgangs für den ASP.NET Webserverprozess zu ändern, ändern Sie das folgende Attribut in der Machine.config-Datei (oder geben Sie das folgende Attribut in der Web.config-Datei für eine beliebige Webanwendung an.

 <sessionState
    stateNetworkTimeout="10"
 />

So ändern Sie den Timeoutwert des TCP/IP-Vorgangs für den Zustandsserver:

  1. Beenden Sie den ASP.NET-Zustandsserverdienst.
  2. Wählen Sie Start aus, wählen Sie Ausführen aus, geben SieRegedt32.exeein, und wählen Sie dann OK aus, um die Registrierung Editor zu starten.
  3. Suchen Sie den folgenden Schlüssel in der Registrierung: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameter
  4. Fügen Sie einen DWORD-Wert mit dem Namen SocketTimeout hinzu. Legen Sie eine positive ganze Zahl fest, um das neue TCP/IP-Timeout in Sekunden darzustellen.
  5. Beenden Sie die Registrierungs-Editor.
  6. Starten Sie den ASP.NET-Zustandsserverdienst neu.

Verwenden Sie diese Methoden für Benutzer, bei denen die im Abschnitt Symptome genannten Probleme auftreten, um die Timeoutwerte auf dem Zustandsserver und auf allen Webservern auf 20 Sekunden zu erhöhen.

Hinweis

Wenn der Zustandsserver nicht ausgeführt wird, wenn Sie die Timeoutwerte auf dem Webserver erhöhen, tritt für die Clientanforderung nach n Sekunden ein Timeout auf, wobei n einem neuen Timeoutwert entspricht, anstelle der standardmäßigen 10 Sekunden.