因為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。
幾個方式(本文不作介紹),要將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。