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: 19063|Răspunde: 0

[ASP.NET] . Arhitectură distribuită net: Partajare a sesiunilor bazată pe Redis

[Copiază linkul]
Postat pe 15.10.2018 13:26:55 | | | |
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







Precedent:Asp.Net inserția nativă de EF MVC, modul corect de a actualiza datele
Următor:Angular6 introduce jquery și bootstrap
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