Сессия Azure и In Proc

У меня есть сайт (ASP.Net 4.0 C#), размещенный на сервере Azure с несколькими экземплярами. Мой режим состояния сеанса - «InProc». Почему-то он не работает с экземплярами Azure, он не поддерживает состояние должным образом. Пожалуйста посоветуй.

С уважением Вивек


person Vivek    schedule 11.05.2011    source источник


Ответы (3)


Если у вас есть несколько экземпляров и вы используете сеанс InProc, данные сеанса не будут работать, поскольку они не будут совместно использоваться экземплярами.

Нагрузка Azure балансирует ваши HTTP-запросы и может отправлять каждый клиентский HTTP-запрос на другой экземпляр сервера.

Если вы хотите использовать состояние сеанса, вам необходимо использовать поставщика общего состояния сеанса, например:

  • поставщик состояния сеанса SQL (хотя я считаю, что он имеет некоторые ограничения для SQL Azure, поскольку он не может использовать код SQLAgent для периодической очистки состояния)
  • демонстрационный поставщик состояния сеанса таблицы Azure (официально не поддерживается и иногда сообщается о наличии ошибок)
  • последний поставщик состояния сеанса AppFabric (в настоящее время рекомендуется MS) — см. http://appfabricdemos.codeplex.com/releases/view/65427
person Stuart    schedule 11.05.2011
comment
Я хотел добавить, что я создал провайдера Session-State для Azure с открытым исходным кодом, его можно скачать отсюда azureproviders .codeplex.com - person ; 18.07.2011

Добавление к ответу Стюарта: Кэш AppFabric кэширует как услугу, не зависит от каких-либо экземпляров виртуальной машины. Эта услуга была запущена несколько недель назад. Команда AppFabric предоставляет поставщика состояния сеанса, который использует кеш и требует только простого копирования и вставки web.config.

По причинам, упомянутым Стюартом, я бы не стал полагаться на SQL Azure или Table Storage для кэша вашего сеанса.

В Учебный комплект платформы Windows Azure под названием Создание приложений Windows Azure с помощью службы кэширования. Я бы рассмотрел его, так как одной из тем является настройка состояния сеанса с использованием кэша AppFabric.

Я предоставил немного больше информации в этот ответ SO .

person David Makogon    schedule 11.05.2011

Выберите способ управления сеансами в Windows Azure

Служба кэширования AppFabric запущена.

Ваше здоровье.

person vtortola    schedule 11.05.2011