1: Introduksjon til sesjonen
Hva er Session? Enkelt sagt er det et tall gitt til klienten av serveren. Når en webserver kjører, kan det være flere brukere som surfer på nettsider som kjører på den serveren. Når hver bruker først kobler seg til webserveren, oppretter han en økt med serveren, og serveren tildeler automatisk en SessionID for å identifisere brukerens unike identitet. Denne SessionID-en er en 24-tegns streng tilfeldig generert av webserveren, og vi vil se den i praksis i eksperimentet nedenfor.
2: Sentralisert modus og konfigurasjon av sesjonen i Asp.Net
(1): InProc, Session lagres i prosessen, som også er lagringsmetoden i ASP.Net og også standardverdien (2): StateServer, Session lagres i en separat tilstandstjeneste, altså ASP.NET tilstandstjeneste (3): SQLServer, Session lagres i SQL Server-databasen (4): Custom, en tilpasset lagringsmetode som kan lagres i Oracle, SQLServer, MongoDb og Redis Denne artikkelen handler hovedsakelig om lagring og deling av Sessions i Redis
3: Sesjonsleverandørkonfigurasjon basert på Redis
(1) Gjør følgende endringer i HomeControllers for Sites A og B, som vist i figuren nedenfor, og legg til funksjonene for å opprette og hente sesjoner
De tilsvarende View-visningene
(2) RedisProvider-konfigurasjon: Microsoft.Web.RedisSessionStateProvider Installer Microsoft.Web.RedisSessionStateProvider med Nuget som vist i følgende bilde:
Endre profilen:
4. Lastbalansering av sesjonstest
(1) Skriv inn i nettleseren:http://192.168.152.128/ Opprett en økt
(2) Skriv inn i nettleseren:http://192.168.152.128/home/getsessionvalue, Åpne to faner, sørg for å åpne dem i samme nettleservindu, ellers vil SessionID-en definitivt være annerledes
Fra figuren kan du se at sted A deler øktene som er opprettet av sted B. Du kan også se sesjonen du nettopp opprettet fra redis som vist i figuren under
|