ASP.NET保存session state(會話狀態(tài))有三種模式:In-Process, State Server, SQL Server。
SQL Server模式的優(yōu)點: - 即使web application重啟,狀態(tài)數(shù)據(jù)也會被保存
- 多個web服務(wù)器可以共享狀態(tài)數(shù)據(jù)
- 節(jié)省內(nèi)存
設(shè)置:
- 在web.config中,使用mode=”SQLServer”,例如:
<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;data
source=SampleSqlServer;" />
</system.web>
</configuration>
- 當(dāng)然,僅僅這樣是不夠的,還需要運行aspnet_regsql.exe,使用向?qū)Ъ纯?/span>
- 但是,還不夠,必須在工作的SQL數(shù)據(jù)庫上執(zhí)行InstallSqlState.sql腳本!
- 好了!狀態(tài)數(shù)據(jù)將被保存到指定數(shù)據(jù)庫上。
- 如果查看數(shù)據(jù)庫,自動生成了ASPState數(shù)據(jù)庫,竟然沒有數(shù)據(jù)。為什么?原來,ASPState只有存儲過程,數(shù)據(jù)被保存在tempdb中!
|