Asp.net mvc 4 在ASP.NET WebForms和MVC集成的应用程序中,会话在MVC视图上提前超时,但在WebForms上没有

Asp.net mvc 4 在ASP.NET WebForms和MVC集成的应用程序中,会话在MVC视图上提前超时,但在WebForms上没有,asp.net-mvc-4,webforms,asp.net-membership,membership-provider,sqlmembershipprovider,Asp.net Mvc 4,Webforms,Asp.net Membership,Membership Provider,Sqlmembershipprovider,我已将ASP.NET MVC 4应用程序与旧版ASP.NET 4 Webforms应用程序集成。webforms应用程序使用SQL成员资格提供程序实现表单身份验证模式的安全功能,因此我在新集成的应用程序中也保留了这种安全性。我在一些MVC操作方法上使用[authorize]属性来保护一些MVC视图。除了MVC页面(视图)超时早于为表单身份验证和sessionState设置的超时(如下面的web.config文件所示)之外,这一切都可以正常工作 <authentication mode="F

我已将ASP.NET MVC 4应用程序与旧版ASP.NET 4 Webforms应用程序集成。webforms应用程序使用SQL成员资格提供程序实现表单身份验证模式的安全功能,因此我在新集成的应用程序中也保留了这种安全性。我在一些MVC操作方法上使用[authorize]属性来保护一些MVC视图。除了MVC页面(视图)超时早于为表单身份验证和sessionState设置的超时(如下面的web.config文件所示)之外,这一切都可以正常工作

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

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


正如您所见,超时设置为几个小时。然而,MVC在大约30分钟后查看超时,而webforms页面在同一个应用程序中不会超时。为什么会发生这种情况以及如何解决?

这不太可能,因为它们都使用相同的会话代码。您必须在某个地方有强制放弃会话的代码。您知道身份验证和会话是不同的,对吗?你没有混淆这两个,是吗?Erik,我放弃会话的唯一地方是当用户注销时.Aspx页面的注销事件,如下所示:
protectedvoid HeadLoginStatus_LoggedOut(object sender,EventArgs e){session.adward();}
我要再说一遍,因为你第一次忽略了我。您知道身份验证和会话是两件不同的事情,对吗?