Omdat het bedrijf de server moet belasten, zet het webproject er één uit op elk van de twee front-end servers (web1 en web2). Maar sessies worden gebruikt in projecten. Wanneer je voor het eerst op web1 terechtkomt, kun je van web1 naar web2 springen omdat de belasting na web1 kan toenemen. Ik heb veel informatie gevonden op het internet, en ik begrijp ook de configuratie in web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Veel voorbeelden op het internet zijn stateConnectionString="tcpip=127.0.0.1:42424", wat natuurlijk prima is op een webserver, maar wanneer je stateConnectionString verandert naar stateConnectionString="tcpip=192.168.1.82: 42424", zullen er problemen zijn met beide frontends. Microsoft gaf geen specifieke oplossing, en de voorbeelden op MSDN wijzen ook naar 127.0.0.1. Later, na onderzoek en overleg met experts, realiseerde ik me dat ik het register van de server die Sessin opslaat, moest aanpassen, hier is het 192.168.1.82, en de wijziging is als volgt: Pas het register aan:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameters
AllowRemoteConnection=1
Daarna start de ASP.NET State Service opnieuw
De verbindingsconfiguratie is als volgt:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" timeout="60" />
Daarna was het na testen weer oké. Hopelijk helpt het anderen. Er is nog een ander probleem dat ik nog steeds niet begrijp. De wap-pagina die ik heb gemaakt zal de gegevens in ViewState op de pagina hebben opgeslagen, en wanneer de pagina constant wordt ververst, gaat de data verloren en duurt de tijd nooit meer dan 20 minuten. Ik weet niet of het een bug van Microsoft is of wat, dit probleem verschijnt niet op webpagina's. Oplossing. Na een periode van onderzoek is het het beste om minder viewstate te gebruiken op de WAP-pagina, en als de asp.net state-service is ingeschakeld, kun je cookieless op true zetten, anders gaat de sessie verloren. |