Stocarea stării sesiunii client în ASP.NET În introducerea noastră la modelul de sesiune de mai sus, puteți vedea că starea sesiunii ar trebui stocată în două locuri, și anume partea clientului și partea serverului. Clientul este responsabil doar pentru salvarea ID-ului sesiunii site-ului corespunzător, în timp ce celelalte informații despre sesiune sunt stocate pe partea serverului. În ASP, SessionID-ul clientului este de fapt stocat ca cookie. Dacă utilizatorul alege să dezactiveze cookie-urile din setările browserului, nu va putea beneficia de comoditatea sesiunii și poate chiar să nu poată accesa anumite site-uri web. Pentru a rezolva problemele de mai sus, există două tipuri de metode de stocare a informațiilor de sesiune în ASP.NET: cookie-uri și cookieless. În ASP.NET, clientul folosește în continuare cookie-uri pentru a stoca informațiile din sesiune în mod implicit. Dacă vrem să folosim cookieless pe client pentru a stoca informații despre sesiune, următoarea este metoda: Găsește directorul rădăcină al aplicației web curente, deschide fișierul Web.Config și găsește următorul paragraf: <sesiune State mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="sursă de date=127.0.0.1; Trusted_Connection=da" cookieless="false" timeout="20"
/> cookieless="false" în acest paragraf este schimbat în cookieless="true", astfel încât informațiile de sesiune ale clientului nu mai sunt stocate de cookie-uri, ci sunt stocate prin URL. Închiderea IE-ului actual, deschiderea unui IE nou și reaccesarea aplicației web vor arăta astfel: Dintre ele, fontul îngroșat din http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx este ID-ul de sesiune al clientului. Rețineți că aceste informații sunt adăugate automat de IIS și nu afectează conexiunea normală anterioară.
|