1: Въведение в сесията
Какво е Сесия? Просто казано, това е число, дадено на клиента от сървъра. Когато уеб сървър работи, може да има няколко потребители, които разглеждат сайтове, работещи на този сървър. Когато всеки потребител се свърже за първи път към уеб сървъра, той установява сесия със сървъра, а сървърът автоматично му присвоява SessionID, за да идентифицира уникалната идентичност на потребителя. Този SessionID е 24-символен низ, генериран на случаен принцип от уеб сървъра, и ще го видим в действие в експеримента по-долу.
2: Централизиран режим и конфигурация на сесията в Asp.Net
(1): В InProc, Session се съхранява в процеса, който е и методът за съхранение в ASP.Net и е и стандартната стойност (2): StateServer, Session се съхранява в отделна държавна услуга, т.е. ASP.NET State Service (3): SQLServer, Session се съхранява в базата данни на SQL Server (4): Custom, персонализиран метод за запазване, който може да се запазва в Oracle, SQLServer, MongoDb и Redis Тази статия основно разглежда съхранението и споделянето на сесии в Redis
3: Конфигурация на сесийния доставчик, базирана на Redis
(1) Направете следните промени в HomeControllers на Сайтове A и B, както е показано на фигурата по-долу, и добавете функциите за създаване и получаване на сесии
Съответните изгледи на View
(2) Конфигурация на RedisProvider: Microsoft.Web.RedisSessionStateProvider Инсталирайте Microsoft.Web.RedisSessionStateProvider с Nuget, както е показано на следното изображение:
Променете профила:
4. Тест за балансиране на натоварването
(1) Въведете в браузъра:http://192.168.152.128/ Създайте сесия
(2) Въведете в браузъра:http://192.168.152.128/home/getsessionvalue, Отворете два таба, уверете се, че ги отваряте в един и същи прозорец на браузъра, иначе SessionID определено ще е различен
От фигурата се вижда, че сайт А споделя сесиите, създадени от сайт Б. Можете също да видите сесията, която току-що сте създали от redis, както е показано на фигурата по-долу
|