將Out-of-Process的Session放在自訂的資料庫中

摘要:將Out-of-Process的Session放在自訂的資料庫中

用SQL Server儲存Session之前,必須先到 %windows%\Microsoft.NET\Framework\versionNumber 路徑下執行Aspnet_regsql.exe 工具程式,安裝Session State資料庫,指令為:

  • 存在TEMP資料庫:aspnet_regsql.exe -S localhost -E -ssadd SessionState01
  • 存在ASPState資料庫:aspnet_regsql.exe -S localhost -E -ssadd -sstype p SessionState02
  • 存在自訂資料庫:aspnet_regsql.exe -S localhost -E -ssadd -sstype c -d Northwind SessionState03

接著要在網站的web.config中設定<sessionState>項目,指定將Session存放到自訂的資料庫,例如亞當斯要把Session物件存放到Northwind資料庫中的話,那麼就要做以下的設定:

<sessionState mode="SQLServer"
sqlConnectionString="Server=localhost;uid=sa;pwd=P@ssw0rd;Database=Northwind"
allowCustomSqlDatabase="true" />