Siden selskapet må lastbalansere serveren, distribuerer webprosjektet én server på hver av de to frontend-serverne (web1 og web2). Men økter brukes i prosjekter. Når du først lander på web1, er det mulig å hoppe fra web1 til web2 fordi belastningen kan øke etter web1. Jeg fant mye informasjon på Internett, og jeg forstår også konfigurasjonen i web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Mange eksempler på Internett er stateConnectionString="tcpip=127.0.0.1:42424", som selvfølgelig er greit på en webserver, men når du endrer stateConnectionString til stateConnectionString="tcpip=192.168.1.82: 42424", vil det oppstå problemer med begge frontendene. Microsoft ga ingen spesifikk løsning, og eksemplene på MSDN peker også på 127.0.0.1. Senere, etter å ha undersøkt og rådført meg med eksperter, innså jeg at jeg måtte endre registeret til serveren som lagrer Sessin, her er det 192.168.1.82, og endringen er som følger: Endre registeret:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parametere
AllowRemoteConnection=1
Deretter starter ASP.NET State Service på nytt
Tilkoblingskonfigurasjonen er som følger:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" Timeout="60" />
Etter det var det greit etter testing. Håper det hjelper andre. Det er et annet problem jeg fortsatt ikke forstår. Wap-siden jeg laget vil ha dataene lagret i ViewState på siden, og når siden oppdateres kontinuerlig, vil dataene i den gå tapt, og tiden vil aldri overstige 20 minutter. Jeg vet ikke om det er en feil fra Microsoft eller hva, dette problemet vises ikke på nettsider. Løsning. Etter en periode med utforskning er det best å bruke mindre viewstate på WAP-siden, og hvis asp.net state-tjenesten er aktivert, er det best å sette cookieless til true, ellers går sesjonen tapt. |