Как Microsoft Azure обрабатывает состояние сеанса?
-
06-07-2019 - |
Вопрос
Есть ли у кого-нибудь информация об управлении состоянием в Azure при выборе нескольких экземпляров? Похоже, что InProc будет бесполезен, и вам потребуется другой экземпляр сервера состояний или использование хранилища данных для хранения состояния пользователей на разных серверах. Р>
Или он реализует липкие сессии, поэтому InProc - это все, что вам нужно. Р>
Нашел ответ здесь: Форумы Azure р>
Решение
Хранение таблиц было бы самым логичным местом. Другие установки типа фермы серверов также используют таблицу базы данных для хранения информации о сеансе.
Взгляните на проект AspProviders в примерах Windows Azure SDK. У него есть поставщик SessionState, который использует хранилище таблиц Azure.
Другие советы
AppFabric Cache только что запущен в производство, и это отличный способ управления данными сеанса. На самом деле, у него есть собственный поставщик состояния сеанса, который просто заходит в web.config. Вы найдете его на портале Azure.
Вся информация о размерах кэша, ценах и SLA здесь а>. р>
Изменить . Шаблоны веб-ролей Windows Azure теперь включают новых универсальных поставщиков ASP.NET, в том числе поставщика состояний сеансов, который поддерживает SQL Azure. Посмотрите сообщение в блоге Нейта Тоттена , чтобы узнать больше подробности. РЕДАКТИРОВАНИЕ 7/8/2012 Windows Azure теперь предоставляет и роль кэша, и кэш в памяти (легко настраиваемые с помощью новейших инструментов и v1.7 SDK). Кэш в памяти распределяет кэш по одному из ваших существующих экземпляров ролей, используя заданный процент ОЗУ (хороший вариант «бесплатно», если вам не требуется много ОЗУ в вашем приложении).
Не требуется привязка к сеансу и, следовательно, использование поставщиков состояния сеанса, которые полагаются на хранилище Azure
или хранилище SQL Azure
. Р>
Для некоторых унаследованных приложений вам может понадобиться схожесть сеансов. В этих случаях возможна ARR между балансировщиком нагрузки Azure
и веб-фермой
. Р>
Подробнее см. на http://go.archims.fr/hW54Xz
Другой вариант - использовать липкие сессии http:
http://dunnry.com/blog/2010/10/14/ StickyHTTPSessionRoutingInWindowsAzure.aspx
Тогда вы можете использовать InProc.