如何將Session值儲存于SQL Server中呢
一般情況下,我們喜歡使用Session儲存我們的變量。Asp.Net提供了下面一些方法儲存Session的值:
InProc
StateServer
SQLServer
“InProc”表示我們使用傳統(tǒng)ASP一樣的.方法儲存Session的值,而且“StateServer”則表示使用另外一臺主機來儲存Session的值。當然我們也能使用SQLServer儲存值,我們這篇文章就專門用于講解這種方法。
運行InstallSqlState.sql文件
首先需要在WinntMicrosoft.Net中找到InstallSqlState.sql文件,然后在SQLServer中執(zhí)行它。在我的機器中,它存在于E:WINNTMicrosoft.NETFrameworkv1.0.2914目錄中。這個文件是微軟自己提供的,里面有很全的SQL語句,大家放心使用。下圖就是生成的數(shù)據(jù)表。
修改你的web.config文件,指定Session的mode為SQLServer
將web.config的sessionState部分改成:
<sessionStatemode="SQLServer"
sqlConnectionString="datasource=
WIN2000;userid=
sa;password="cookieless="false"timeout=
"20"/>
創(chuàng)建Asp.NetWebForms
下面就建立一個測試的ASP.net程序,使用Session程序這里就不用多說了,下面是我的程序的截圖。這個程序只是簡單的儲存一個字符串數(shù)據(jù)于Session中,然后再顯示這個數(shù)據(jù)在Label控件中。
現(xiàn)在所有的Session變量都儲存在數(shù)據(jù)表中,而不是內存中了。你可打開ASPStateTempSessions表來查看這些Session數(shù)據(jù)了。
刪除這些數(shù)據(jù)庫和表
如果你不喜歡這個數(shù)據(jù)儲存方式,看得實在是不爽,那么你可以把這些表和數(shù)據(jù)庫完全刪除掉。這個也不要擔心這種刪除會影響數(shù)據(jù)庫(因為害怕誤刪除一些數(shù)據(jù)),因為微軟同樣也得供給你們一個刪除SQL文件,名叫UnintallSQLState.sql。它與IntallSQLState.sql一樣放在.Net的Config目錄中。