Сессия не придерживается ASP.NET MVC2 в IIS7.5 в IE8 - PullRequest
5 голосов
/ 18 октября 2010

У нас есть веб-приложение ASP.NET MVC2. По причинам, выходящим за рамки этой проблемы, мы решили использовать классическое состояние сеанса в приложении. В нем реализованы следующие функции, связанные с сеансом.

  1. Обработчик события Session_Start в global.asax сохраняет переменную в сеансе. Это связано с обходным решением для определения истечения сеанса.
  2. Используемый сеанс имеет следующие значения в web.config:

    sessionState timeout = "30" mode = "InProc" cookieless = "UseCookies"

  3. Используется проверка подлинности с помощью форм, в web.config установлены следующие значения:

forms loginUrl = "~ / Account.aspx / LogOn" timeout = "1440" protection = "All" slideExpiration = "false"

Веб-приложение работало в IIS6 без проблем, пока мы не развернули его на IIS7.5. На IIS7.5 все, кроме сессии, кажется, работает. Кажется, сессия либо восстанавливает, либо теряет значения; короче говоря, он не прилипает, это происходит только в IE8; все еще работает в Chrome и Firefox.

Поиск в Google приводит к возможным ответам, которые; global.asax не запускается в IIS7.5. Некоторые ребята работали как веб-приложение в IIS7.5; но мы работаем как сайт. Преобразование его в веб-приложение, похоже, не решает проблему для нас, поскольку мы тоже это пытались.

Конфигурация для нашего нового сервера: Windows 2008 R2, IIS7.5, asp.net framework 2,3.5 и 4 установлены на машине.

Интересным аспектом этого является то, что сессия, похоже, работает в браузерах Google Chrome и Firefox; что заставляет нас думать, что это может иметь отношение к генерации файлов cookie на клиенте.

Если кто-то сталкивался с этой проблемой и имеет решение, мы все уши.

Заранее спасибо за помощь.

...