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

时间:2014-01-13 17:52:37

标签: c# asp.net session session-timeout

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

<sessionState timeout="60" mode="InProc" 
      cookieless="false"></sessionState>


    <customErrors mode="Off">
    </customErrors>
    <trace enabled="true" />
    <authentication mode="Forms">
               <forms
    protection="All"
    timeout="120"
    domain="www.marpallichande.in"
    slidingExpiration="true"
    name="auth_cookie" />  

    </authentication>

这是我在Admin文件夹

中设置的web.cofing文件
<sessionState timeout="60" mode="InProc"
      cookieless="false"></sessionState>

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

Session.Timeout=60;

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

4 个答案:

答案 0 :(得分:5)

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

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

<sessionState mode="InProc" cookieless="false" timeout="10" /> 

将其设置为10分钟。

答案 1 :(得分:1)

在应用程序的全局web.config文件中写入<sessionState mode="InProc" cookieless="false" timeout="10" />

通过向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
}

答案 2 :(得分:1)

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

  

Session_OnEnd事件仅在会话状态时受支持   HttpSessionState.Mode属性值是InProc,这是默认值。   如果会话状态模式设置为StateServer或SQLServer,那么   Global.asax文件中的Session_OnEnd事件将被忽略。如果是会话   state Mode属性值是Custom,然后支持   Session_OnEnd事件由自定义会话状态存储确定   提供商。

<system.web>
<sessionState mode="InProc" cookieless="false" timeout="30" />
</system.web>

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

答案 3 :(得分:0)

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

 <sessionSate mode="StateServer" cookieless="false" timeout="940"/> 

在web.config中编写代码

我找到了解决方案 enter link description here