我把它設置爲120分鐘,但它不會持續那麼久。我不確定它持續多久,但我知道它不是2小時。ASP.Net MVC3 SessionState超時
<sessionState timeout="120" />
這只是在默認的Web.config文件,而不是在一個在瀏覽目錄,也沒有Web.Debug.config或Web.Release.config設置。
作爲默認的會話超時是20分鐘會有所作爲嗎?
我把它設置爲120分鐘,但它不會持續那麼久。我不確定它持續多久,但我知道它不是2小時。ASP.Net MVC3 SessionState超時
<sessionState timeout="120" />
這只是在默認的Web.config文件,而不是在一個在瀏覽目錄,也沒有Web.Debug.config或Web.Release.config設置。
作爲默認的會話超時是20分鐘會有所作爲嗎?
爲確保您的會話不會因w3wp.exe崩潰或應用程序池回收而中止,您應該將會話狀態移至單獨的存儲區。最簡單的是ASP.Net狀態服務器服務。請務必將主機上啓動該服務,並添加到您的web.config,而不是:
<sessionState mode="StateServer"
stateConnectionString="tcpip=SampleStateServer:42424"
cookieless="false"
timeout="120"/>
我將不得不與我的網絡管理員討論此事。我只是開發者。 – MB34
@ MB34:它也可以用SQL服務器完成。請記住,以這種方式放入會話的任何內容都必須實現「Serializable'屬性。 –
我想你應該定義會話狀態模式
有不同的存在會話狀態的ASP .NET http://msdn.microsoft.com/en-us/library/ms178586(v=VS.80).aspx
在進程模式 的defaul一個是<sessionState mode="InProc" timeout="10" />
,會話將清楚重建項目後
狀態服務器模式 我們可以利用這一點,但記得要打開服務 - ASP.NET狀態服務
<sessionState mode="StateServer"
stateConnectionString="tcpip=localhost:42424"
sqlConnectionString="data source=.\SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
cookieless="false"
timeout="2"
/>
SQL Server模式我們可以使用這個命令通過以後建立DB ASPSate ,請選中該網站的詳細信息 - http://www.brianstevenson.com/blog/aspstate-concurrently-running-for-net-1011-and-net-20
<sessionState mode="SQLServer"
stateConnectionString="tcpip=localhost:63586"
sqlConnectionString="data source=.\SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
cookieless="false"
timeout="2"
/>
在狀態服務器模式& SQL Server模式會話不會CLE在重建項目之後,它對開發很有幫助
您的應用程序池回收也會導致會話中斷。 – Darren
@JonathanWood _session狀態一般不推薦用於ASP.NET_ - 你有更多的信息嗎? – jrummell
@達倫 - 如何判斷應用程序池是否正在終止會話? – MB34