2016-03-03 132 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()