Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 19080|Svare: 3

[ASP.NET] ASP.NET StateServer som lagrer sesjonen

[Kopier lenke]
Publisert på 18.11.2017 21:20:15 | | | |

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.




Foregående:Enkel pakkerefaktorering for Autofacc-beholder
Neste:Sesjonstilstander kan ikke serialiseres. I "StateServer" eller "SQLServer"-modus...
 Vert| Publisert på 18.11.2017 21:21:34 |
ASP.NET sesjonstilstandsmodulen <Sessionstate>bestemmer de fire mulige verdiene for taggen i Web.config-filen < modusegenskapen til taggen under System.web>tagen: Off, Inproc StateServer og SQLserver.    1 Inproc er standardinnstillingen
Den tillater "cookie-løse" økter, samt lagring av sesjonsdata utenfor serveren. ASP.NET sesjonstilstandsmodulen er konfigurert i Web.config-filen som følger:
 Vert| Publisert på 26.02.2018 11:02:52 |
Min egen konfigurasjon


 Vert| Publisert på 10.07.2022 21:58:32 |
ASP.NET 4 gir nå innebygd støtte for å komprimere sesjonsdata for å lagre sesjoner utenfor prosessen. For å aktivere denne funksjonen, sett barekomprimeringAktivertEgenskapen settes til "true", som vist i følgende kodeutdrag:



ASP.NET vil bruke .NET Framework System.IO.Compression.GZipStream-klassen for å komprimere (og dekomprimere) sesjonstilstanden.
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com