Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 19080|Antwort: 3

[ASP.NET] ASP.NET StateServer, der die Sitzung speichert

[Link kopieren]
Veröffentlicht am 18.11.2017 21:20:15 | | | |

Da das Unternehmen den Server ausbalancieren muss, stellt das Webprojekt jeweils einen Server auf den beiden Frontend-Servern (web1 und web2) bereit. Aber Sitzungen werden in Projekten verwendet. Wenn Sie zum ersten Mal auf Web1 landen, ist es möglich, von Web1 zu Web2 zu springen, da die Last nach Web1 steigen kann.
Ich habe viele Informationen aus dem Internet gefunden und verstehe auch die Konfiguration in web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Viele Beispiele im Internet sind stateConnectionString="tcpip=127.0.0.1:42424", was auf einem Webserver natürlich in Ordnung ist, aber wenn man stateConnectionString in stateConnectionString="tcpip=192.168.1.82: 42424 ändert", gibt es Probleme mit beiden Frontends. Microsoft hat keine spezifische Lösung angeboten, und die Beispiele auf MSDN verweisen ebenfalls auf 127.0.0.1. Später, nach Recherche und Beratung von Experten, stellte ich fest, dass ich das Register des Servers, der Sessin speichert, ändern musste; hier ist es 192.168.1.82, und die Änderung ist wie folgt:
Ändern Sie das Register:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameters



AllowRemoteConnection=1



Dann starten Sie den ASP.NET State Service neu



Die Verbindungskonfiguration ist wie folgt:

<sessionState mode="StateServer"
stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect"
Timeout="60" />

Danach war es nach den Tests in Ordnung. Ich hoffe, es hilft anderen.
Es gibt noch ein weiteres Problem, das ich immer noch nicht verstehe. Die Wap-Seite, die ich erstellt habe, speichert die Daten im ViewState auf der Seite, und wenn die Seite ständig aktualisiert wird, gehen die darin enthaltenen Daten verloren und die Zeit überschreitet niemals 20 Minuten. Ich weiß nicht, ob es ein Bug von Microsoft ist oder was, dieses Problem erscheint auf Webseiten nicht. Lösung.
Nach einer Phase der Erkundung ist es am besten, weniger Viewstate auf der WAP-Seite zu verwenden, und wenn der asp.net-State-Service aktiviert ist, ist es am besten, cookieless auf true zu setzen, sonst geht die Sitzung verloren.




Vorhergehend:Einfache Paketrefaktorisierung für Autofac Container
Nächster:Sitzungszustände können nicht serialisiert werden. Im "StateServer"- oder "SQLServer"-Modus...
 Vermieter| Veröffentlicht am 18.11.2017 21:21:34 |
ASP.NET Sitzungszustandsmodul <Sessionstate>bestimmt die vier möglichen Werte des Tags in der Web.config-Datei < der Moduseigenschaft des Tags unter dem System.web> Tag: Off, Inproc StateServer und SQLserver.    1 Inproc ist die Standardeinstellung
Es erlaubt "cookielose" Sitzungen sowie die Speicherung von Sitzungsdaten außerhalb des Servers. ASP.NET Sitzungszustandsmodul ist in der Web.config-Datei wie folgt konfiguriert:
 Vermieter| Veröffentlicht am 26.02.2018 11:02:52 |
Meine eigene Konfiguration


 Vermieter| Veröffentlicht am 10.07.2022 21:58:32 |
ASP.NET 4 bietet nun eingebaute Unterstützung zur Komprimierung von Sitzungsdaten, um Sitzungen außerhalb des Prozesses zu speichern. Um diese Funktion zu aktivieren, setzen Sie einfach eincompressionEnabledDie Eigenschaft wird auf "true" gesetzt, wie im folgenden Codeausschnitt gezeigt:



ASP.NET verwenden die .NET Framework System.IO.Compression.GZipStream-Klasse, um den Sitzungszustand zu komprimieren (und zu dekomprimieren).
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com