Как Microsoft Azure обрабатывает состояние сеанса? - PullRequest
22 голосов
/ 21 июня 2009

Есть ли у кого-нибудь какая-либо информация об управлении состоянием в Azure, если вы выбрали несколько экземпляров? Похоже, что InProc будет бесполезен, и вам потребуется другой экземпляр сервера состояний или использование хранилища данных для хранения состояния пользователей на разных серверах.

Или он реализует липкие сессии, поэтому InProc - это все, что вам нужно.

Нашел ответ здесь: Форумы Azure

Ответы [ 4 ]

18 голосов
/ 21 июня 2009

Таблица хранения будет самым логичным местом. Другие установки типа фермы серверов также используют таблицу базы данных для хранения информации о сеансе.

Взгляните на проект AspProviders в примерах Windows Azure SDK. У него есть поставщик SessionState, который использует хранилище таблиц Azure.

13 голосов
/ 30 апреля 2011

AppFabric Cache только что запущен в производство, и это отличный способ управления данными сеанса. На самом деле, у него есть собственный поставщик состояния сеанса, который просто заходит в web.config. Вы найдете его на портале Azure.

Вся информация о размерах кэша, ценах и SLA: здесь .

Редактировать : шаблоны веб-ролей Windows Azure теперь включают новых универсальных поставщиков ASP.NET, в том числе поставщика состояний сеансов, который поддерживает SQL Azure. Взгляните на сообщение в блоге Нейта Тоттена для получения более подробной информации.

РЕДАКТИРОВАНИЕ 7/8/2012 В Windows Azure теперь есть и роль кэша, и кэш в памяти (легко настраиваемые с помощью новейших инструментов и v1.7 SDK). Кэш в памяти распределяет кэш по одному из существующих экземпляров ролей, используя определенный процент ОЗУ (хороший вариант «бесплатно», если вам не нужно много ОЗУ в вашем приложении).

2 голосов
/ 26 марта 2011

Не требует соответствия сеанса и, следовательно, использует поставщиков состояния сеанса, которые полагаются на Azure storage или SQL Azure storage - лучший выбор.

Для некоторых унаследованных приложений вам все еще может понадобиться сходство сессий. Для этих случаев ARR между Azure load balancer и Web farm является опцией.

Подробнее на http://go.archims.fr/hW54Xz

1 голос
/ 08 мая 2012

Другой вариант - использовать липкие http-сессии:

http://dunnry.com/blog/2010/10/14/StickyHTTPSessionRoutingInWindowsAzure.aspx

Тогда вы можете использовать InProc.

...