ASP.NET將Session儲存到資料庫中

王磊的部落格發表於2015-02-25

因為ASP.NET中Session的存取機制與ASP相同,都是儲存在進行中,

一旦程式崩潰,所有Session資訊將會丟失,所以我採取了將Session資訊儲存到SQL Server中,儘管還有其它的

幾個方式(本文不作介紹),要將Session儲存到SQL Server中,需要有以下幾個步驟:

1.首先要建立用於儲存Session資料的資料庫,以命令列的形式用aspnet_regsql.exe來完成,具體命令為

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe -ssadd -sstype c
 -d sd -E

該命令是以windows驗證方式,新增了sd資料庫儲存session資料。

2.需要修改ASP.NET web.config檔案中的SessionState結點,該結點位於<system.web>下

    <sessionState mode="SQLServer" allowCustomSqlDatabase="true"
                  sqlConnectionString="server=.;uid=sa;password=;initial catalog=sd"
                  cookieless="false"
                  timeout="20">
    </sessionState>

這樣一來,Session資料就不再是依賴於IIS程式而是儲存到資料庫中。可以開啟sd資料庫會有兩個表分別為ASPStateTempSessions、ASPStateTempApplications。
 
 
 
 

相關文章