Unsere Website hat derzeit dieses Problem. Grundsätzlich passiert es nur, wenn wir auf bestimmte Links klicken, um ein neues Fenster zu öffnen.
Dies ist die Fehlermeldung, die wir erhalten:
Die Sitzungsstatusanforderung kann nicht an den Sitzungsstatus-Server gesendet werden.
Stellen Sie sicher, dass der ASP.NET-Statusdienst gestartet ist und die Client- und Server-Ports identisch sind.
Wenn sich der Server auf einem Remotecomputer befindet, stellen Sie sicher, dass er Remoteanforderungen akzeptiert, indem Sie den Wert von HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection überprüfen.
Befindet sich der Server auf dem lokalen Computer und ist der zuvor genannte Registrierungswert nicht vorhanden oder auf 0 gesetzt, muss die Verbindungszeichenfolge des Statusservers entweder 'localhost' oder '127.0.0.1' als Servernamen verwenden.
Zielseite :
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)
Dies ist die Webkonfiguration, die das Tag "sessionstate" enthält:
<sessionState mode="StateServer" timeout="45" />
Ich habe den ASP.NET-Statusdienst überprüft und er wird derzeit gestartet und auf automatisch eingestellt
Ich habe die in der Fehlermeldung angegebene Registrierung auf 1 gesetzt, funktioniert aber immer noch nicht.
aspnet_state
.Wenn Sie HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection auf 1 ändern müssen, müssen Sie den ASP.net-Statusdienst nach dem Ändern des Parameters neu starten .
quelle
Prüfe das:
ist richtig. Überprüfen Sie außerdem, ob der Standardport (
42424
) verfügbar ist und Ihr System keinen hatfirewall
, der den Port Ihres Systems blockiertquelle
Geben Sie Services.msc in das Ausführungsfenster des Windows-Ausführungsfensters ein. Es werden alle Windows-Dienste in unserem System aufgelistet. Jetzt müssen wir den Asp .net State Service starten, wie im Bild gezeigt.
Ihr Problem wird behoben.
quelle
Einer meiner Kunden hatte das gleiche Problem. Die folgenden Schritte werden ausgeführt, um dies zu beheben.
quelle
Sie können auch überprüfen, ob die Windows-Firewall aktiviert ist, da dies möglicherweise Port 42424 blockiert.
quelle
Ich habe festgestellt, dass einige Entwickler aus irgendeinem Grund die private IP des Servers außerhalb von IIS an einem unerwarteten Ort definieren, z. B. in einer nicht standardmäßigen Konfigurationsdatei (dh nicht in web.config) oder in einer Textdatei. Dies kann dazu führen, dass der interne Betrieb fehlschlägt, selbst wenn der Dienst gestartet wird, die Ports nicht blockiert werden, die Registrierungsschlüssel korrekt sind usw.
Insbesondere Kaseya legt eine Datei mit dem Namen serveripinternal.txt im IIS-Stammverzeichnis des VSA-Servers ab. Ich habe den Text Ihres Fehlers gesehen, als jemand, der seine eigene Kaseya-Instanz ausführt, die interne IP des Servers geändert hat. Der Server ist erreichbar, IIS antwortet und die Anmeldeseite wird angezeigt. Die Anmeldung schlägt jedoch mit der angegebenen Nachricht fehl.
quelle
Ich hatte das gleiche Problem, als eine ASP.NET-Installation beschädigt wurde. In diesem Fall schlagen sie vor , aspnet_regiis -i -enable auszuführen
quelle
Ich bin kürzlich auf dieses Problem gestoßen, und keine der vorgeschlagenen Lösungen hat es behoben. Das Problem stellte sich als übermäßige Verwendung der in der Sitzung gespeicherten Datensätze heraus. Es gab einen Fehler im Code, der dazu führte, dass die Sitzungsgröße um das 10-fache erhöht wurde.
Es gibt einen Artikel im msdn-Blog, der auch darüber spricht. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx
Ich habe eine Funktion verwendet, um benutzerdefinierte Ablaufverfolgungsnachrichten zu schreiben, um die Größe der Sitzungsdaten auf der Live-Site zu messen.
quelle
Nicht die beste Antwort, aber es ist trotzdem eine Option:
quelle