1: Introduktion til sessionen
Hvad er Session? Kort sagt er det et tal, som serveren giver klienten. Når en webserver kører, kan der være flere brugere, der browser hjemmesider, der kører på den server. Når hver bruger først forbinder til webserveren, opretter han en session med serveren, og serveren tildeler automatisk en SessionID for at identificere brugerens unikke identitet. Denne SessionID er en 24-tegns streng, der tilfældigt genereres af webserveren, og vi vil se den i aktion i eksperimentet nedenfor.
2: Centraliseret tilstand og konfiguration af sessionen i Asp.Net
(1): InProc gemmes Session i processen, som også er lagringsmetoden i ASP.Net og også standardværdien (2): StateServer, Session gemmes i en separat tilstandstjeneste, dvs. ASP.NET Tilstandstjeneste (3): SQLServer, Session gemmes i SQL Server-databasen (4): Custom, en brugerdefineret gemmemetode, som kan gemmes i Oracle, SQLServer, MongoDb og Redis Denne artikel handler hovedsageligt om lagring og deling af sessioner i Redis
3: Konfiguration af sessionsudbyder baseret på Redis
(1) Foretag følgende ændringer til HomeControllers for sites A og B, som vist i figuren nedenfor, og tilføj funktionerne for oprettelse og indhentning af sessioner
De tilsvarende View-visninger
(2) RedisProvider-konfiguration: Microsoft.Web.RedisSessionStateProvider Installer Microsoft.Web.RedisSessionStateProvider med Nuget som vist på følgende billede:
Ændr profilen:
4. Load balancing sessionstest
(1) Indtast i browseren:http://192.168.152.128/ Opret en session
(2) Indtast i browseren:http://192.168.152.128/home/getsessionvalue, Åbn to faner, sørg for at åbne dem i samme browservindue, ellers vil SessionID'et helt sikkert være anderledes
Fra figuren kan du se, at side A deler de sessioner, der er oprettet af site B. Du kan også se den session, du lige har oprettet fra redis, som vist i figuren nedenfor
|