ASP.NET会话状态在Web.config以及Global.asax中不起作用

我有管理页面,我用它来为我的网站做一些更新工作。 问题是会话将在一分钟或30秒内到期并将注销用户。 我在根文件夹的Web.Config以及Admin文件夹内的Web.Config中设置了Session,但会话很快就会过期。 我把它设置为60分钟,但它只持续30秒或一分钟。 这是我的根文件夹的web.config内容

       

这是我在Admin文件夹中设置的web.cofing文件

  

这是我在Session_Start方法下的Global.asax文件中的设置

 Session.Timeout=60; 

我没有得到会话如此过期如何过期,或者除了会话之外是否还有任何其他原因被注销。

sessionState超时值以分钟为单位。 我将首先删除Session.TimeOut(以及除sessionState超时之外的任何其他超时值,保持原样并试一试。另外,不确定为什么你有两个配置文件?他们有相同的设置吗?

我有一个类似的设置,但只有一个配置文件

  

设置为10分钟。

在应用程序的全局web.config文件中写入

通过向Global.asax文件添加名为Session_OnEnd的子例程来定义Session_OnEnd事件。 Session_OnEnd子例程在调用方法或会话已过期时运行。 会话在Timeout属性指定的分钟数通过而没有为会话发出请求时到期。

仅当会话状态Mode属性设置为InProc时,才支持Session_OnEnd事件。

Session_onEnd事件可以在global.asax中定义为:

 public void Session_OnEnd() { // do your desired task when the session expires } 

检查根web.config以获取会话状态设置,例如:
//超时以分钟为单位
//关于使用关于InProc的global.asx的注意事项: SessionStateModule.End事件

仅当会话状态HttpSessionState.Mode属性值为InProc(默认值)时,才支持Session_OnEnd事件。 如果会话状态模式设置为StateServer或SQLServer,则忽略Global.asax文件中的Session_OnEnd事件。 如果会话状态Mode属性值为Custom,则自定义会话状态存储提供程序将确定对Session_OnEnd事件的支持。

    

您应该只在1个位置定义它。

如果页面在几秒钟后自动 退出 ,那是因为会话过期

   

在web.config中编写代码

我在这里输入链接描述找到解决方案