close

關於 Session 存放的方式分為下列幾種
1.Off - 不使用
2.InProc - 存放在 Web 伺服器的記憶體中(Default)
3.StateServer - 存放在稱為 ASP.NET 狀態服務的個別處理序中
4.SQLServer - 儲存在 SQL Server 資料庫中
5.Custom - 自訂儲存提供者(這裡不討論)

Session 相關設定,可在 web.config 中宣告

1 <configuration>
2     <system.web>
3             <sessionState   mode="InProc" 
4                 timeout="20" 
5                 cookieless="UseCookies">
6         </sessionState>
7     </system.web>
8 </configuration>


 

 


StateServer

將 session 存於指定的狀態伺服器,Will 保哥有兩篇說的非常清楚
如何讓 ASP.NET 使用 Session 資料時不要再自動消失
如何讓【ASP.NET 狀態服務】開放遠端連接

SqlServer

將 session 存於 SqlServer 資料庫中,必需使用 aspnet_regiis.exe 工具

1.新增 ASPState 資料庫:進入命令模式視窗輸入

1 aspnet_regsql.exe -S ServerName -E -ssadd -sstype p

 

 會顯示提示資訊且會多一個用來記錄 Session 的資料庫(ASPState)

2. 移除 ASPState 資料庫:進入命令模式視窗輸入

1 aspnet_regsql.exe -S ServerName -E -ssremove


 

web.config 要做相關修正

1 <configuration>   
2     <system.web>
3             <sessionState mode="SQLServer" 
4                       sqlCommandTimeout="30" 
5                       sqlConnectionString="data source=localhost;Integrated Security=SSPI">
6             </sessionState>
7     </system.web>
8 </configuration>

 

 

參考文件
http://msdn.microsoft.com/zh-tw/library/ms178586(VS.80).aspx

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 11 的頭像
    11

    冠霖的部落格

    11 發表在 痞客邦 留言(0) 人氣()