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中编写代码
我在这里输入链接描述找到解决方案