1: Bevezetés a szekcióhoz
Mi az a Session? Egyszerűen fogalmazva, ez egy szám, amelyet a szerver adott a kliensnek. Amikor egy webszerver fut, több felhasználó is böngészhet azon a weboldalon, amelyek azon a szerveren futnak. Amikor minden felhasználó először csatlakozik a webszerverhez, egy ülést hoz létre a szerverrel, és a szerver automatikusan SessionID-t rendel hozzá, hogy azonosítsa a felhasználó egyedi identitását. Ez a SessionID egy 24 karakteres string, amelyet a webszerver véletlenszerűen generál, és az alábbi kísérletben láthatjuk.
2: A Session központosított módja és konfigurációja a Asp.Net
(1): InProc, Session a folyamatban tárolódik, ami egyben a ASP.Net tárolási módszere is, és egyben az alapértelmezett érték is (2): StateServer Session egy külön állapotszolgáltatásban tárolódik, azaz ASP.NET State Service (3): SQLServer, a Session az SQL Server adatbázisban van tárolva. (4): Custom, egy egyedi mentési módszer, amely elmenthető Oracle-ban, SQLServerben, MongoDb-ben és Redis-ben Ez a cikk főként a Sessions tárolásáról és megosztásáról szól Redisben
3: Redis alapú Session Provider konfiguráció
(1) A és B helyszínek HomeControllerjeiben az alábbi módosításokat végezzük, ahogy az alábbi ábrán látható, és hozzáadjuk a munkamenetek létrehozásának és beszerzésének funkcióit
A megfelelő nézetek
(2) RedisProvider konfiguráció: Microsoft.Web.RedisSessionStateProvider Telepítse a Microsoft.Web.RedisSessionStateProvider alkalmazást Nuget-szel, ahogy az alábbi képen látható:
Módosítsd a profilt:
4. Terheléskiegyensúlyozási ülésteszt
(1) Írd be a böngészőbe:http://192.168.152.128/ Készíts egy alkalmat
(2) Írd be a böngészőbe:http://192.168.152.128/home/getsessionvalue, Nyiss ki két tapot, és mindenképp nyisd meg őket ugyanabban a böngészőablakban, különben a SessionID biztosan más lesz
Az ábrából látható, hogy az A oldal megosztja a B oldal által létrehozott üléseket. Láthatod azt is, hogy a redis által éppen létrehozott Session, ahogy az alábbi ábrán látható
|