Statusserverprotokolle Ereignis-ID 1072 oder Ereignis-ID 1076
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem die Ereignis-ID 1072 oder 1076 auf Statusservern protokolliert wird.
Ursprüngliche Produktversion: Microsoft .NET Framework
Ursprüngliche KB-Nummer: 308097
Problembeschreibung
Eines der folgenden Ereignisse wird im Anwendungsereignisprotokoll des Zustandsservercomputers angezeigt, wenn der Statusservermodus des Sitzungsstatus in ASP.NET verwendet wird. Dies geschieht, wenn der Webserver oder der Computer, auf dem der Zustandsserver ausgeführt wird, unter hohem Stress steht.
Ereignistyp:Fehler
Ereignisquelle:ASP.NET 1.0.3306.0
Ereigniskategorie:Keine
Ereignis-ID:1072
Datum: 12.09.2001
Uhrzeit: 16:00:25 Uhr
Benutzer: n/v
Computer: ComputerName
Beschreibung:
Beim Verarbeiten einer Anforderung auf dem Statusserver ist ein Fehler aufgetreten. Haupt-Callstack: EndOfRequest. Fehlercode: 0x80072746
Hinweis
Die Version des .NET Framework, die in der vorherigen Ereignisnachricht erwähnt wird, ist eine Vorabversion der .NET Framework 1.0.
Ereignistyp:Fehler
Ereignisquelle:ASP.NET 1.0.3306.0
Ereigniskategorie:Keine
Ereignis-ID:1076
Datum: 12.09.2001
Uhrzeit: 16:02:05 Uhr
Benutzer: n/v
Computer: ComputerName
Beschreibung:
Der Statusserver hat eine abgelaufene TCP/IP-Verbindung geschlossen. Die IP-Adresse des Clients lautet 127.0.0.1. Der abgelaufene Lesevorgang wurde am 12.09.2001 um 16:02:00 Uhr begonnen.
Hinweis
Die Version des .NET Framework, die in der vorherigen Ereignisnachricht erwähnt wird, ist eine Vorabversion der .NET Framework 1.0.
Ereignistyp: Fehler
Ereignisquelle: ASP.NET 1.1.4322.0
Ereigniskategorie: Keine
Ereignis-ID: 1078
Datum: 6.10.2005
Uhrzeit: 11:03:47 Uhr
Benutzer: N/A
Computer: ComputerName
Der Statusserver hat eine abgelaufene TCP/IP-Verbindung geschlossen. Die IP-Adresse des Clients lautet 127.0.0.1. Der abgelaufene Lesevorgang begann am 06.10.2005 um 11:03:25 Uhr.
Ursache
Bei Verwendung des Zustandsservermodus des Sitzungsstatus in ASP.NET kommuniziert der ASP.NET Webserverprozess auf dem Webserver mithilfe von WinSocket über TCP/IP (Transmission Control Protocol/Internet Protocol). Standardmäßig legt der Webserverprozess den Timeoutwert aller Sende- und Empfangs-TCP/IP-Vorgänge auf 10 Sekunden fest. Auf ähnliche Weise überläuft der Statusserver auch alle Sende- und Empfangsvorgänge von TCP/IP nach 10 Sekunden.
Wenn der Webserver oder der Statusserver jedoch unter hoher CPU-Auslastung (fast 100 Prozent) steht, 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 Statusserver protokolliert ereignis-ID 1072, wenn der ASP.NET-Webserverprozess einen TCP/IP-Vorgang zeitüberschreitungen lässt. Wenn für den Statusserver ein Tcp/IP-Vorgang nicht ausgeführt wird, protokolliert der Statusserver 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 dateiMachine.config (oder geben Sie das folgende Attribut in der Web.configDatei für eine beliebige Webanwendung an).
<sessionState
stateNetworkTimeout="10"
/>
So ändern Sie den Timeoutwert des TCP/IP-Vorgangs für den Statusserver:
- Beenden Sie den ASP.NET Zustandsserverdienst.
- Wählen Sie "Start", "Ausführen" aus, geben SieRegedt32.exe ein, und wählen Sie dann "OK" aus, um den Registrierungs-Editor zu starten.
- Suchen Sie den folgenden Schlüssel in der Registrierung:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameter - 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.
- Beenden Sie den Registrierungs-Editor.
- Starten Sie den ASP.NET Zustandsserverdienst neu.
Verwenden Sie für Benutzer, die probleme haben, die im Abschnitt "Symptome" erwähnt werden, diese Methoden, um die Timeoutwerte auf dem Statusserver 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, führt die Clientanforderung nach n Sekunden zu einem Timeout, wobei n einem neuen Timeoutwert entspricht, anstatt der standardmäßigen 10 Sekunden.