以下過程是在Win 2003 SP2 + IIS 6.0, ASP.NET 2.0, SQL Server 2005下進行的。
1. 安裝Session資料庫
到Framework目錄C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
運行下面的命令:aspnet_regsql.exe -ssadd -sstype c -d [DB] -S [Server] –E
-E是使用Windows認證,也可以使用資料庫認證:aspnet_regsql.exe -ssadd -sstype c -d [DB] -S [Server] –U [User Name] – P [Password]
在指定的SQL Server伺服器的指定資料庫中建立Session資料庫,可以是個單獨的資料庫,也就是可以是程式所用的資料庫,也可以不給名字,那麼會使用一個預設的資料庫名稱。建立完成後,在Sql Server裡給上相應的帳號許可權。
2. 修改web.config:<sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="data source=[Server];initial catalog=[DB];user id=[User Name];password=[Password]"
cookieless="false"
timeout="20" />
如果使用預設的資料庫名稱,如下:<sessionState mode="SQLServer" sqlConnectionString="data source=[Server];user id=[User Name];password=[Password]"
cookieless="false"
timeout="20" />
這樣,程式的Session就會儲存到資料庫中了,有一點需要注意的是,這樣配置以後,存到Session中的對象必須是可序列化的,如果是自訂的類,那麼就要加上[Seriablizable]屬性。