See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 19080|Vastuse: 3

[ASP.NET] ASP.NET StateServer, mis salvestab sessiooni

[Kopeeri link]
Postitatud 18.11.2017 21:20:15 | | | |

Kuna ettevõte peab serverit koormuse tasakaalustama, juurutab veebiprojekt ühe serveri kummalgi kahele esiküljele (web1 ja web2). Aga sessioone kasutatakse projektides. Kui maandud esimest korda web1-le, on võimalik hüpata web1-lt web2-le, sest koormus võib pärast web1-d suureneda.
Leidsin internetist palju infot ja mõistan ka web.config seadistust
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" />
Paljud näited internetis on stateConnectionString="tcpip=127.0.0.1:42424", mis on muidugi veebiserveris okei, kuid kui muudad stateConnectionStringi stateConnectionString="tcpip=192.168.1.82: 42424", tekivad mõlemad kasutajaliidesed probleemid. Microsoft ei andnud konkreetset lahendust ning MSDN-i näited viitavad samuti versioonile 127.0.0.1. Hiljem, pärast uurimist ja ekspertidega konsulteerimist, sain aru, et pean muutma serveri registrit, mis salvestab Sessini, siin on see 192.168.1.82 ja muudatus on järgmine:
Muuda registrit:

HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parameetrid



AllowRemoteConnection=1



Seejärel taaskäivita ASP.NET riigiteenus



Ühenduse konfiguratsioon on järgmine:

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

Pärast seda oli testimisel kõik korras. Loodan, et see aitab teisi.
On veel üks probleem, millest ma siiani aru ei saa. Wap-leht, mille tegin, salvestab andmed lehe ViewState'is ja kui lehte pidevalt värskendatakse, kaovad andmed ja aeg ei ületa kunagi 20 minutit. Ma ei tea, kas see on Microsofti viga või mis, seda probleemi veebilehtedel ei esine. Lahendus.
Pärast mõningast uurimist on kõige parem kasutada WAP-lehel vähem vaateolekut ning kui asp.net oleku teenus on lubatud, siis on parem seada küpsisteta tõele, vastasel juhul kaotatakse sessioon.




Eelmine:Lihtne pakendite refaktoreerimine Autofac Container jaoks
Järgmine:Sessiooni olekuid ei saa seriaalida. "StateServer" või "SQLServer" režiimis...
 Üürileandja| Postitatud 18.11.2017 21:21:34 |
ASP.NET sessiooni olekumoodul <Sessionstate>määrab Web.config failis neli võimalikku sildi väärtust < System.web> sildi all oleva märgise režiimi omadust: Off, Inproc StateServer ja SQLserver.    1 Inproc on vaikimisi seadistus
See võimaldab "küpsisteta" sessioone ning salvestada sessiooniandmeid väljaspool serverit. ASP.NET sessiooni olekumoodul on Web.config failis seadistatud järgmiselt:
 Üürileandja| Postitatud 26.02.2018 11:02:52 |
Minu enda konfiguratsioon


 Üürileandja| Postitatud 10.07.2022 21:58:32 |
ASP.NET 4 pakub nüüd sisseehitatud tuge sessiooniandmete tihendamiseks, et salvestada protsessiväliseid sessioone. Selle funktsiooni lubamiseks lihtsalt seacompressionEnabledOmadus on seatud "tõene", nagu näidatud järgmises koodilõigus:



ASP.NET kasutab .NET Framework System.IO.Compression.GZipStream klassi sessioonioleku tihendamiseks (ja dekompresseerimiseks).
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com