Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 19080|Odgovoriti: 3

[ASP.NET] ASP.NET StateServer, ki shranjuje sejo

[Kopiraj povezavo]
Objavljeno na 18. 11. 2017 21:20:15 | | | |

Ker mora podjetje uravnotežiti obremenitev strežnika, spletni projekt namesti enega na vsak od dveh strežnikov (web1 in web2). A seje se uporabljajo v projektih. Ko prvič pristaneš na web1, je mogoče preskočiti iz web1 v web2, ker se obremenitev lahko poveča po web1.
Našel sem veliko informacij na internetu in tudi razumem konfiguracijo v web.config
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Veliko primerov na internetu je stateConnectionString="tcpip=127.0.0.1:42424", kar je seveda v redu na spletnem strežniku, vendar ko spremenite stateConnectionString v stateConnectionString="tcpip=192.168.1.82: 42424", se pojavijo težave z obema frontendoma. Microsoft ni ponudil specifične rešitve, primeri na MSDN pa prav tako kažejo na 127.0.0.1. Kasneje sem po raziskovanju in posvetovanju s strokovnjaki ugotovil, da moram spremeniti register strežnika, ki shranjuje Sessin, tukaj je 192.168.1.82, sprememba pa je naslednja:
Spremenite register:

HKEY_LOCAL_MACHINE"SISTEM"Trenutni kontrolni set"Storitve"aspnet_state"Parametri



AllowRemoteConnection=1



Nato ponovno zaženi ASP.NET državno službo



Konfiguracija povezave je naslednja:

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

Po tem je bilo po testiranju v redu. Upam, da bo to pomagalo drugim.
Obstaja še en problem, ki ga še vedno ne razumem. Na wap strani, ki sem jo ustvaril, bodo podatki shranjeni v ViewState na strani, in ko se stran nenehno osvežuje, se podatki v njej izgubijo, čas pa nikoli ne preseže 20 minut. Ne vem, ali gre za napako pri Microsoftu ali kaj drugega, ta težava se ne pojavlja na spletnih straneh. Rešitev.
Po obdobju raziskovanja je najbolje uporabiti manj stanja pogleda na strani WAP, in če je storitev asp.net state omogočena, je najbolje nastaviti cookieless na true, sicer bo seja izgubljena.




Prejšnji:Preprosta refaktorizacija paketov za Autofac Container
Naslednji:Stanja seje ni mogoče serializirati. V načinu "StateServer" ali "SQLServer"...
 Najemodajalec| Objavljeno na 18. 11. 2017 21:21:34 |
ASP.NET modul stanja seje <Sessionstate>določi štiri možne vrednosti oznake v datoteki Web.config < lastnosti mode oznake pod oznako System.web>: Off, Inproc StateServer in SQLserver.    1 Inproc je privzeta nastavitev
Omogoča seje brez piškotkov ter shranjevanje podatkov sej zunaj strežnika. ASP.NET modul stanja seje je v datoteki Web.config konfiguriran takole:
 Najemodajalec| Objavljeno na 26. 02. 2018 11:02:52 |
Moja lastna konfiguracija


 Najemodajalec| Objavljeno na 10. 07. 2022 21:58:32 |
ASP.NET 4 zdaj omogoča vgrajeno podporo za stiskanje podatkov sej za shranjevanje izven obdelanih sej. Za omogočanje te funkcije preprosto nastavitecompressionEnabledLastnost je nastavljena na "resnično", kot je prikazano v naslednjem kodnem odlomku:



ASP.NET bo uporabil razred .NET Framework System.IO.Compression.GZipStream za stiskanje (in dekompresijo) stanja seje.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com