Управление сессиями Azure - PullRequest
2 голосов
/ 12 мая 2011

Из книги Azure в действии я прочитал следующее: «В Windows Azure, сервере состояний или поставщике состояния сеанса вне процесса, не поддерживается "

Может кто-нибудь сказать мне, почему это не поддерживается. Они не объясняют в книге. Я бы подумал, что смогу запустить сервер состояний, и все веб-роли смогут использовать его для чтения данных сеанса. Спасибо за ответы

1 Ответ

4 голосов
/ 12 мая 2011

Windows Azure имеет кэш AppFabric, который хорошо подходит для хранения сеансов.Это было запущено около 2 недель назад.Вы можете увидеть подробности в моих ответах StackOverflow здесь и здесь .

Я не могу дать вам абсолютный ответ об отсутствии сервера состояний, кроме фактачто до недавнего времени веб-роли выполнялись под управлением размещенного веб-ядра вместо полного IIS, и это могло повлиять на предложение сервера состояний.Кроме того, поскольку все ваши экземпляры веб-ролей эквивалентны, как бы вы указали, какой сервер состояний?И что произойдет, если Windows Azure перезапустит этот экземпляр?Я думаю, что это было бы большой головной болью.

С решением AppFabric Cache это кэш-как-услуга, полностью независимый от ваших экземпляров ролей и управляемый для вас.Вы просто получаете конечную точку, присоединяетесь к кешу и выполняете операции put и get для пар имя / значение.На портале Azure есть кнопка «Конфигурация клиента», которую вы нажимаете, и для вас создается волшебный кусок xml - вы помещаете его в web.config, и теперь у вас есть пользовательский поставщик состояния сеанса, который сохраняет / получает данные сеанса в / изкеш.

РЕДАКТИРОВАТЬ: При использовании SQL Azure для состояния сеанса: SQL Azure не имеет агента SQL, поэтому у вас не будет фонового задания периодически очищать кэш.В блоге MSDN показано, как заставить SQL Azure работать в качестве поставщика состояния сеанса (и использовать фоновый процесс рабочей роли для очистки сеанса).Тем не менее, я бы по-прежнему рекомендовал решение AppFabric Cache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...