VB.NET工作筆記007---ASP.NET中Session超時一直不起作用

技術交流QQ羣【JAVA,.NET,BigData,AI】:170933152 

最後發現是這個原因,在IIS中找到應用程序池,然後右邊點擊,詳細設置,然後找到,進程模塊中的

最大工作進程數,設置爲1

如果不是1,由於web.config中的<sessionState mode="InProc",是把session存在進程中了,如果iis工作進程是多個,就會出現

session超時不起作用的問題

-------------------------

asp.net應用時,修改web.config中的SessionState節點。

stateserver模式:

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false"timeout="120"/> 

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/>

InProc模式:

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false"timeout="120"/> 

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/> InProc模式 優點:獲取session狀態的速度快,session狀態直接存儲在iis的進程中。 缺點:易丟失,經常需要重新登錄 
StateServer模式 優點:session狀態單獨存儲在一個進程中,不會因爲iis或者應用的重啓而丟失狀態 缺點:獲取session狀態的速度比InProc慢一些,畢竟是兩個不同的進程。 
在開發的時候,對應用有一點修改,就會導致應用的重啓,這時候如果使用InProc模式 ,那麼每次都需要重新登錄,比較浪費時間.建議使用StateServer模式。並在iis裏面設置超時時間長一些。
注:使用StateServer模式的時候 1、要開啓“ASP.NET State Service”服務(設爲“自動”) 狀態服務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章