設置C#Web網頁Session超時丟失時間


C# Web網站

有時候在web.config設置sessionState 或者類文件里設置Session.Timeout,在IIS里訪問時每次都是達不到時間就超時,原因是因為在IIS中設置了Session的超時時間,IIS里設置Session方法為: 

1.IIS圖形界面設置

IIS6    在IIS里面右鍵點擊默認網站->主目錄->應用程序設置里點配置->選項->啟用會話狀態->會話超時那里設置時間 
IIS7.5 點擊站點->功能視圖->ASP->會話屬性->超時

再web.config中設置Session過期時間方法:

  <system.web>
    <!--最大請求長度,單位為kb-->
    <compilation debug="true" targetFramework="4.6" />
    <httpRuntime targetFramework="4.6" maxRequestLength="409600"  />
    <httpModules>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
    </httpModules>
    <!--<sessionState mode="InProc" timeout="20" />-->
  </system.web>

timeout   設置經過多少分鍾后服務器自動放棄Session信息。默認為20分鍾;

當用戶登錄網站后較長一段時間沒有與服務器進行交互,將會導致服務器上的用戶會話數據(即session)被銷毀。此時,當用戶再次操作網頁時,如果服務器進行了session校驗,那么瀏覽器將會提醒用戶session超時。

下面說一下如何解決用戶登錄后較長時間未操作而導致的session失效的問題?

一般情況下下,我們首先想到的是,通過改變服務器的配置,延長服務器的session超時時間。
在Tomcat服務器和項目的的web.xml文件中有如下節點內容:

<session-config>
    <session-timeout>30</session-timeout> </session-config>


這里的30表示session的超時時間,單位為分鍾,如果用戶登錄后在30分鍾內沒有與服務器交互,那么當前用戶的session將失效。
我們可以配置一個更大的數值(比如60),就可以延長session的超時時間,如果將該值改為0或負數的話,則表示session永不失效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM