將Session值儲存於SQL Server中

來源:互聯網
上載者:User
server|session 飛刀|2002-2-25 一般情況下,我們喜歡使用Session儲存我們的變數。Asp.Net提供了下面一些方法儲存Session的值:
InProc
State Server
SQL Server
“InProc”表示我們使用傳統ASP一樣的方法儲存Session的值,而且“State Server”則表示使用另外一台主機來儲存Session的值。當然我們也能使用SQL Server儲存值,我們這篇文章就專門用於講解這種方法。
運行InstallSqlState.sql檔案
首先需要在Winnt\Microsoft.Net中找到InstallSqlState.sql檔案,然後在SQL Server 中執行它。在我的機器中,它存在於E:\WINNT\Microsoft.NET\Framework\v1.0.2914\目錄中。這個檔案是微軟自己提供的,裡面有很全的SQL語句,大家放心使用。下圖就是產生的資料表。



修改你的web.config檔案,指定Session的mode為SQL Server
將web.config的sessionState部分改成:

<sessionState mode="SQLServer"
sqlConnectionString="data source=
WIN2000;userid=
sa;password=" cookieless= "false"timeout=
"20" />

建立Asp.Net Web Forms
下面就建立一個測試的ASP.net程式,使用Session程式這裡就不用多說了,下面是我的程式的截圖。這個程式只是簡單的儲存一個字串資料於Session中,然後再顯示這個資料在Label控制項中。



現在所有的Session變數都儲存在資料表中,而不是記憶體中了。你可開啟ASPStateTempSessions表來查看這些Session資料了。

刪除這些資料庫和表
如果你不喜歡這個資料儲存方式,看得實在是不爽,那麼你可以把這些表和資料庫完全刪除掉。這個也不要擔心這種刪除會影響資料庫(因為害怕誤刪除一些資料),因為微軟同樣也得供給你們一個刪除SQL 檔案,名叫UnintallSQLState.sql。它與IntallSQLState.sql一樣放在.Net的Config目錄中。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.