1: Introducere în sesiune
Ce este Session? Pe scurt, este un număr dat clientului de către server. Când un server web funcționează, pot exista mai mulți utilizatori care navighează pe site-uri care rulează pe acel server. Când fiecare utilizator se conectează pentru prima dată la serverul web, el stabilește o sesiune cu serverul, iar serverul îi atribuie automat un SessionID pentru a identifica identitatea unică a utilizatorului. Acest SessionID este un șir de 24 de caractere generat aleatoriu de serverul web și îl vom vedea în acțiune în experimentul de mai jos.
2: Modul centralizat și configurarea sesiunii în Asp.Net
(1): InProc, Session este stocat în proces, care este și metoda de stocare în ASP.Net și valoarea implicită (2): StateServer, Session este stocat într-un serviciu separat de stare, adică ASP.NET State Service (3): SQLServer, Session este stocată în baza de date SQL Server (4): Custom, o metodă de salvare personalizată, care poate fi salvată în Oracle, SQLServer, MongoDB și Redis Acest articol vorbește în principal despre stocarea și partajarea sesiunilor în Redis
3: Configurarea furnizorului de sesiune bazată pe Redis
(1) Să facă următoarele modificări la HomeControlerele Locurilor A și B, așa cum este prezentat în figura de mai jos, și să adaugă funcțiile de creare și obținere a sesiunilor
Viziunile corespunzătoare ale View-ului
(2) Configurarea RedisProvider: Microsoft.Web.RedisSessionStateProvider Instalează Microsoft.Web.RedisSessionStateProvider cu Nuget, așa cum se arată în imaginea următoare:
Modifică profilul:
4. Testarea sesiunii de echilibrare a încărcării
(1) Introduceți în browser:http://192.168.152.128/ Creează o sesiune
(2) Introduceți în browser:http://192.168.152.128/home/getsessionvalue, Deschide două file, asigură-te că le deschizi în aceeași fereastră de browser, altfel SessionID-ul va fi cu siguranță diferit
Din figură, poți vedea că site-ul A distribuie sesiunile create de site-ul B. Poți vedea și sesiunea pe care tocmai ai creat-o din redis, așa cum este arătat în figura de mai jos
|