1: Wprowadzenie do sesji
Czym jest Session? Mówiąc wprost, jest to numer nadawany klientowi przez serwer. Gdy serwer WWW działa, może na nim działać kilku użytkowników. Gdy każdy użytkownik po raz pierwszy łączy się z serwerem WWW, nawiązuje sesję z serwerem, a serwer automatycznie przypisuje mu SessionID, aby zidentyfikować unikalną tożsamość użytkownika. Ten SessionID to 24-znakowy ciąg losowo generowany przez serwer WWW, który zobaczymy w praktyce poniżej.
2: Scentralizowany tryb i konfiguracja sesji w Asp.Net
(1): InProc, Session jest przechowywana w procesie, który jest także metodą przechowywania w ASP.Net i jest wartością domyślną (2): StateServer, Sesja jest przechowywana w osobnej usłudze stanowej, tj. ASP.NET Usłudze Stanowej (3): SQLServer, Sesja jest przechowywana w bazie danych SQL Server (4): Custom, niestandardowa metoda zapisu, którą można zapisać w Oracle, SQLServer, MongoDb i Redis Ten artykuł dotyczy głównie przechowywania i udostępniania sesji w Redis
3: Konfiguracja dostawcy sesji oparta na Redis
(1) Wprowadź następujące zmiany w HomeControllerach Lokalizacji A i B, jak pokazano na poniższym rysunku, oraz dodaj funkcje tworzenia i pozyskiwania sesji
Odpowiadające im widoki
(2) Konfiguracja RedisProvider: Microsoft.Web.RedisSessionStateProvider Zainstaluj Microsoft.Web.RedisSessionStateProvider z Nugetem, jak pokazano na poniższym obrazku:
Zmodyfikuj profil:
4. Test sesji load balancing
(1) Wpisz w przeglądarce:http://192.168.152.128/ Utwórz sesję
(2) Wpisz w przeglądarce:http://192.168.152.128/home/getsessionvalue, Otwórz dwie karty, upewnij się, że otwierasz je w tym samym oknie przeglądarki, inaczej SessionID na pewno będzie inny
Na rysunku widać, że strona A dzieli sesje utworzone przez stronę B. Możesz też zobaczyć sesję, którą właśnie utworzyłeś z redis, jak pokazano na poniższym rysunku
|