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. |