在Windows Azure WebSites服務中需要Session State Server時,有幾個選擇:
- 使用Azure SQL Database作為Session Server;原本在ASP.Net我們就可以使用SQL Server作為Session Server,SQL Azure Database作為SQL Database的子集,當然也可以用來儲存Session State。這個方式不管是使用WebSites服務或是Cloud Serivce服務都可以使用。
只不過,T-SQL的某些語法在Azure SQL DB是不支援的,並且我們也沒辦法用傳統的ASPNet_REGSQL在SQL Azure DB上建立Session DB,因此在建立Session DB的時候需要用別的方式。
首先下載這個檔案。裏面包含了兩個檔案:ASPStateInstall.sql與InstallSqlState.sql。
首先連線到我們的Azure SQL的Master db,並執行ASPStateInstall.sql來建立State DB。
然後連線到剛剛建立的ASPState資料庫,執行InstallSqlState.sql。
然後打開我們的ASP.Net專案,透過Nuget加入ASP.Net Universal Providers。
最後修改Web.config中的Session區段如下:
<sessionState mode="SQLServer"
sqlConnectionString="Server=tcp:<SERVER>.database.windows.net;Database=ASPState;User ID=<USER>@<SERVER>;Password=<PASSWORD>;Trusted_Connection=False;Encrypt=True;"
cookieless="false" timeout="20" allowCustomSqlDatabase="true" />
這樣就完成以Azure SQL Database作為Session State的步驟了。
沒有留言:
張貼留言