Тайм-аут сеанса в веб-приложении на платформе Windows Azure - PullRequest
2 голосов
/ 07 сентября 2011

Мне нужна ваша помощь, чтобы решить одну проблему с тайм-аутом сеанса в моем приложении, которое размещено на платформе Azure.

Я разработал веб-приложение на asp.net и создал функцию входа в систему с сеансом и поместил следующий кодподдерживать период ожидания для сеанса, например

<sessionState mode="InProc" timeout="20"></sessionState>

Он отлично работает в локальной системе, но когда я проверю его с действующим URL-адресом на платформе Azure, он будет часто выходить из системы (сеанс истек).один, пожалуйста, предложите мне, как я могу решить эту проблему?

Спасибо Арун.

Ответы [ 2 ]

4 голосов
/ 07 сентября 2011

Вы используете более одного экземпляра WebRole?Помните, что состояние сеанса «InProc» не будет общим для нескольких экземпляров веб-роли.На самом деле, состояние сеанса InProc является «злым» в облачном мире и не будет работать для любых развертываний с более чем 1 запущенным экземпляром.Вы действительно хотите использовать другого поставщика, такого как поставщик сеансов для AppFabric Cache

1 голос
/ 07 сентября 2011

Вы уверены, что сеанс истекает? Если вы используете проверку подлинности с помощью форм ASP.NET, необходимо учитывать другое время ожидания (здесь я установил его на 180 минут)

<authentication mode="Forms">
  <forms loginUrl="Login/" timeout="180"/>
</authentication>

Если у вас есть несколько экземпляров, Игорек прав - сеанс не будет общим.

Пожалуйста, см. how-do-microsoft-azure-handle-session-state / 1023125 # 1023125 или обратитесь к Azure SDK для получения дополнительной информации.

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