1: Įvadas į sesiją
Kas yra "Session"? Paprasčiau tariant, tai yra numeris, kurį klientui suteikia serveris. Kai veikia žiniatinklio serveris, gali būti keli vartotojai, naršantys tame serveryje veikiančias svetaines. Kai kiekvienas vartotojas pirmą kartą prisijungia prie žiniatinklio serverio, jis sukuria sesiją su serveriu, o serveris automatiškai priskiria jam sesijos ID, kad nustatytų unikalią vartotojo tapatybę. Šis "SessionID" yra 24 simbolių eilutė, atsitiktinai sugeneruota žiniatinklio serverio, ir pamatysime, kaip ji veikia toliau pateiktame eksperimente.
2: Centralizuotas seanso režimas ir konfigūracija Asp.Net
(1): InProc, Session saugomas procese, kuris taip pat yra saugojimo būdas ASP.Net ir taip pat yra numatytoji reikšmė (2): StateServer, Session saugomas atskiroje būsenos tarnyboje, t. y. ASP.NET būsenos tarnyboje (3): SQLServer, sesija saugoma SQL serverio duomenų bazėje (4): Pasirinktinis, pasirinktinis išsaugojimo metodas, kurį galima išsaugoti Oracle, SQLServer, MongoDb ir Redis Šiame straipsnyje daugiausia kalbama apie "Redis" sesijų saugojimą ir bendrinimą
3: Seanso teikėjo konfigūracija pagal Redis
(1) Atlikite šiuos A ir B svetainių namų valdiklių pakeitimus, kaip parodyta paveikslėlyje žemiau, ir pridėkite seansų kūrimo ir gavimo funkcijas
Atitinkami rodinio rodiniai
(2) RedisProvider konfigūracija: Microsoft.Web.RedisSessionStateProvider Įdiekite Microsoft.Web.RedisSessionStateProvider su Nuget, kaip parodyta šiame paveikslėlyje:
Modifikuokite profilį:
4. Apkrovos balansavimo sesijos testas
(1) Naršyklėje įveskite:http://192.168.152.128/ Sukurti sesiją
(2) Naršyklėje įveskite:http://192.168.152.128/home/getsessionvalue, Atidarykite du skirtukus, būtinai atidarykite juos tame pačiame naršyklės lange, kitaip SessionID tikrai skirsis
Iš paveikslėlio matote, kad svetainė A bendrina svetainės B sukurtus seansus. Taip pat galite matyti ką tik sukurtą seansą iš redis, kaip parodyta paveikslėlyje žemiau
|