Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 19080|Răspunde: 3

[ASP.NET] ASP.NET StateServer care stochează Session

[Copiază linkul]
Postat pe 18.11.2017 21:20:15 | | | |

Deoarece compania trebuie să echilibreze încărcarea serverului, proiectul web implementează câte unul pe fiecare dintre cele două servere front-end (web1 și web2). Dar sesiunile sunt folosite în proiecte. Când ajungi prima dată pe web1, este posibil să sari de la web1 la web2, deoarece încărcarea poate crește după web1.
Am găsit multe informații pe Internet și înțeleg și configurația din web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Multe exemple pe Internet sunt stateConnectionString="tcpip=127.0.0.1:42424", ceea ce, desigur, este în regulă pe un server web, dar când schimbi stateConnectionString în stateConnectionString="tcpip=192.168.1.82: 42424", vor apărea probleme cu ambele frontend-uri. Microsoft nu a oferit o soluție specifică, iar exemplele de pe MSDN indică, de asemenea, 127.0.0.1. Mai târziu, după ce am cercetat și am consultat experți, mi-am dat seama că trebuie să modific registrul serverului care salvează Sessin, iată 192.168.1.82, iar modificarea este următoarea:
Modifică registrul:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet""Servicii"aspnet_state"Parametri



AllowRemoteConnection=1



Apoi repornește Serviciul de Stat ASP.NET



Configurația conexiunii este următoarea:

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

După aceea, a fost OK după testare. Sper să ajute și pe alții.
Mai este o problemă pe care încă nu o înțeleg. Pagina wap pe care am creat-o va avea datele stocate în ViewState de pe pagină, iar când pagina este reîmprospătată constant, datele din ea se vor pierde, iar timpul nu va depăși niciodată 20 de minute. Nu știu dacă e un bug de la Microsoft sau altceva, problema asta nu apare pe paginile web. Soluție.
După o perioadă de explorare, este mai bine să se folosească mai puțin viewstate pe pagina WAP, iar dacă serviciul asp.net state este activat, atunci este mai bine să setați cookieless pe true, altfel sesiunea se va pierde.




Precedent:Refactorizare simplă a pachetelor pentru containerul Autofac
Următor:Stările de sesiune nu pot fi serializate. În modul "StateServer" sau "SQLServer"...
 Proprietarul| Postat pe 18.11.2017 21:21:34 |
ASP.NET modul de stare a sesiunii <Sessionstate>determină cele patru valori posibile ale etichetei în fișierul Web.config < proprietatea mod a etichetei sub eticheta System.web>: Off, Inactiv StateServer și SQLserver.    1 Inproc este setarea implicită
Permite sesiuni "fără cookie", precum și stocarea datelor de sesiune în afara serverului. ASP.NET modul de stare a sesiunii este configurat în fișierul Web.config astfel:
 Proprietarul| Postat pe 26.02.2018 11:02:52 |
Configurația mea proprie


 Proprietarul| Postat pe 10.07.2022 21:58:32 |
ASP.NET 4 oferă acum suport integrat pentru comprimarea datelor de sesiune pentru a stoca sesiuni în afara procesului. Pentru a activa această funcție, pur și simplu setațiCompressionEnabledProprietatea este setată pe "true", așa cum se arată în următorul fragment de cod:



ASP.NET va folosi clasa .NET Framework System.IO.Compression.GZipStream pentru a comprima (și decomprima) starea sesiunii.
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com