Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 19063|Ответ: 0

[ASP.NET] . Распределённая архитектура сети: совместное использование сессий на базе Redis

[Скопировать ссылку]
Опубликовано 15.10.2018 13:26:55 | | | |
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
В этой статье главным образом говорится о хранении и совместном использовании Sessions в 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, как показано на рисунке ниже







Предыдущий:Asp.Net MVC native EF insert — правильный способ обновления данных
Следующий:Angular6 вводит jquery и bootstrap
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com