В интегрированном приложении ASP.NET WebForms и MVC время ожидания сеанса истекает раньше для представлений MVC, но не для WebForms.

Я интегрировал приложение ASP.NET MVC 4 с устаревшим приложением ASP.NET 4 Webforms. Приложение веб-форм использовало поставщика членства SQL для реализации функций безопасности с режимом проверки подлинности с помощью форм, поэтому я сохранил эту безопасность и в недавно интегрированном приложении. Я использую атрибут [authorize] в некоторых методах действий MVC для защиты некоторых представлений MVC. Все это работает нормально, за исключением того, что тайм-аут страниц MVC (представления) раньше, чем тайм-ауты, установленные для проверки подлинности форм, и состояние сеанса, как показано ниже в файле web.config.

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="600">

Как видите, таймауты установлены на несколько часов. Тем не менее, время ожидания просмотра MVC примерно через 30 минут, тогда как время ожидания страниц веб-форм в том же приложении не истекает. Почему это происходит и как это можно решить?


comment
На самом деле это невозможно, так как они оба используют один и тот же код сеанса. У вас должен быть код где-то, который вызывает отказ от сеанса. Вы же знаете, что аутентификация и сессия — это разные вещи, верно? Вы не путаете эти два, не так ли?   -  person Erik Funkenbusch    schedule 27.02.2014
comment
Эрик, единственное место, где я отказываюсь от сеанса, — это событие выхода из системы на странице .Aspx, когда пользователь выходит из системы, как показано ниже: protected void HeadLoginStatus_LoggedOut(object sender, EventArgs e) { Session.Abandon(); }   -  person nam    schedule 02.03.2014
comment
Я повторю это еще раз, потому что вы проигнорировали меня в первый раз. Вы понимаете, что аутентификация и сессия - это две разные вещи, верно?   -  person Erik Funkenbusch    schedule 02.03.2014