[ASP.NET] Session save to SQL Server

[ASP.NET] Session save to SQL Server

當我有一個需求,兩台不同的機器要共用一個 Session

ASP.NET 可以讓我們設定將 Session 存放在 SQL Server,它就是 Aspnet_regsql.exe,要注意引用版本

 

下圖來源:http://msdn.microsoft.com/zh-tw/library/ms229862.aspx

image

 

開始之前在 SSMS 先啟動 SQL Server Agent

image

 

我使用VS2012 x64 Cross Tools Command,如下圖:

image

 

本文連結

  1. 啟用 Session 狀態資料庫
  2. 修改Web.Config
  3. Test - 調用 Session

移除 Session 狀態資料庫

 


啟用 Session 狀態資料庫

調用 Aspnet_regsql.exe,參考 http://msdn.microsoft.com/zh-tw/library/ms229862.aspx

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

image

 

完成之後 SQL Server 已建立資料庫以及 Table

image

 

SQL Server Agent 也增加了一個工作

image

 

修改Web.Config

<sessionState mode="SQLServer" sqlConnectionString="Data Source=.;Initial Catalog=ASPState;User ID=your id;Password=your password" allowCustomSqlDatabase="true" />

 

sessionState 項目 (ASP.NET 設定結構描述)

http://msdn.microsoft.com/zh-tw/library/h6bb9cz9%28v=vs.80%29.aspx

 

Test - 調用 Session

使用 this.Session[“a”]=123;

便可看到 Session 被寫到 SQL Server 裡面了,如下圖

image

 

移除 Session 狀態資料庫

aspnet_regsql.exe -S . -E -ssremove -sstype p

image

 

這時候資料庫跟 Agent 的 Job 都被幹掉了…


本文出自:http://www.dotblogs.com.tw/yc421206/archive/2014/05/13/145076.aspx

參考來源:

http://msdn.microsoft.com/zh-tw/library/ms229862.aspx

http://blog.miniasp.com/post/2011/09/14/Configure-SQL-Server-Session-State-Modes-for-ASPNET.aspx

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo