2016-03-03 136 views
0

我使用的是默认的web.config,我们得到一次我们做一个新项目,我没有看到任何“超时”参数,所以我说像这样:会话超时不工作?

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout ="7"> 
    <providers> 
    <add name="DefaultSessionProvider" 
     type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     connectionStringName="DefaultConnection"/> 
    </providers> 
</sessionState> 

我登录到我的帐户,我不断刷新页面现在像14-15分钟,但我没有注销。 (在7分钟后它应该让我注销)。

+0

请注意,超时并不意味着“在成功登录后的x分钟后使会话无效”。这意味着更多“在***不活动***分钟后***使我的会话失效”。如果你一直在做服务器请求,你正在重置超时计数器。您提出问题的方式,如果您每隔几分钟就会刷新一次(假设每隔一分钟),并希望页面在7分钟后停止刷新,即使您整个时间都处于活动状态。 – Kritner

+0

哦,好吧,我经常刷新页面,那么我想这是为什么? –

回答

2

如果您想在<authentication>标记中指定验证超时值。

<authentication mode="Forms"> 
     <forms timeout="7"/> 
</authentication> 

如果你想会话

<system.web> 
<sessionState mode="InProc" cookieless="false" timeout="7" /> 
</system.web> 
+0

这是什么意思?我加了timeout =“7” –

+0

对不起,你很快。我正在添加示例代码。你走了。如果我理解正确,你希望你的会话超时。因此,您在认证模式中指定模式和超时时间。希望这可以帮助。 – xmorera

+0

谢谢,我仍然不明白什么是认证模式是诚实的。 Kritner回答我上面,我想这就是为什么它不工作。我会尽量等待几分钟,然后看看。 –

0

有几种方法可以完成此,它取决于你的网站是如何设置。

  1. 在web.config属性sessionState

  2. 配置IIS应用程序池

  3. 如果你使用的身份,你将要设置的ExpireTimeSpan在ConfigureAuth()