將Session值儲(chǔ)存于SQL Server中
更新時(shí)間:2007年03月21日 00:00:00 作者:
一般情況下,我們喜歡使用Session儲(chǔ)存我們的變量。Asp.Net提供了下面一些方法儲(chǔ)存Session的值:
InProc
State Server
SQL Server
“InProc”表示我們使用傳統(tǒng)ASP一樣的方法儲(chǔ)存Session的值,而且“State Server”則表示使用另外一臺(tái)主機(jī)來儲(chǔ)存Session的值。當(dāng)然我們也能使用SQL Server儲(chǔ)存值,我們這篇文章就專門用于講解這種方法。
運(yùn)行InstallSqlState.sql文件
首先需要在WinntMicrosoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中執(zhí)行它。在我的機(jī)器中,它存在于E:WINNTMicrosoft.NETFrameworkv1.0.2914目錄中。這個(gè)文件是微軟自己提供的,里面有很全的SQL語句,大家放心使用。下圖就是生成的數(shù)據(jù)表。
修改你的web.config文件,指定Session的mode為SQL Server
將web.config的sessionState部分改成:
<sessionState mode="SQLServer"
sqlConnectionString="data source=
WIN2000;userid=
sa;password=" cookieless= "false"timeout=
"20" />
創(chuàng)建Asp.Net Web Forms
下面就建立一個(gè)測試的ASP.net程序,使用Session程序這里就不用多說了,下面是我的程序的截圖。這個(gè)程序只是簡單的儲(chǔ)存一個(gè)字符串?dāng)?shù)據(jù)于Session中,然后再顯示這個(gè)數(shù)據(jù)在Label控件中。
現(xiàn)在所有的Session變量都儲(chǔ)存在數(shù)據(jù)表中,而不是內(nèi)存中了。你可打開ASPStateTempSessions表來查看這些Session數(shù)據(jù)了。
刪除這些數(shù)據(jù)庫和表
如果你不喜歡這個(gè)數(shù)據(jù)儲(chǔ)存方式,看得實(shí)在是不爽,那么你可以把這些表和數(shù)據(jù)庫完全刪除掉。這個(gè)也不要擔(dān)心這種刪除會(huì)影響數(shù)據(jù)庫(因?yàn)楹ε抡`刪除一些數(shù)據(jù)),因?yàn)槲④浲瑯右驳霉┙o你們一個(gè)刪除SQL 文件,名叫UnintallSQLState.sql。它與IntallSQLState.sql一樣放在.Net的Config目錄中。
InProc
State Server
SQL Server
“InProc”表示我們使用傳統(tǒng)ASP一樣的方法儲(chǔ)存Session的值,而且“State Server”則表示使用另外一臺(tái)主機(jī)來儲(chǔ)存Session的值。當(dāng)然我們也能使用SQL Server儲(chǔ)存值,我們這篇文章就專門用于講解這種方法。
運(yùn)行InstallSqlState.sql文件
首先需要在WinntMicrosoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中執(zhí)行它。在我的機(jī)器中,它存在于E:WINNTMicrosoft.NETFrameworkv1.0.2914目錄中。這個(gè)文件是微軟自己提供的,里面有很全的SQL語句,大家放心使用。下圖就是生成的數(shù)據(jù)表。
修改你的web.config文件,指定Session的mode為SQL Server
將web.config的sessionState部分改成:
<sessionState mode="SQLServer"
sqlConnectionString="data source=
WIN2000;userid=
sa;password=" cookieless= "false"timeout=
"20" />
創(chuàng)建Asp.Net Web Forms
下面就建立一個(gè)測試的ASP.net程序,使用Session程序這里就不用多說了,下面是我的程序的截圖。這個(gè)程序只是簡單的儲(chǔ)存一個(gè)字符串?dāng)?shù)據(jù)于Session中,然后再顯示這個(gè)數(shù)據(jù)在Label控件中。
現(xiàn)在所有的Session變量都儲(chǔ)存在數(shù)據(jù)表中,而不是內(nèi)存中了。你可打開ASPStateTempSessions表來查看這些Session數(shù)據(jù)了。
刪除這些數(shù)據(jù)庫和表
如果你不喜歡這個(gè)數(shù)據(jù)儲(chǔ)存方式,看得實(shí)在是不爽,那么你可以把這些表和數(shù)據(jù)庫完全刪除掉。這個(gè)也不要擔(dān)心這種刪除會(huì)影響數(shù)據(jù)庫(因?yàn)楹ε抡`刪除一些數(shù)據(jù)),因?yàn)槲④浲瑯右驳霉┙o你們一個(gè)刪除SQL 文件,名叫UnintallSQLState.sql。它與IntallSQLState.sql一樣放在.Net的Config目錄中。
相關(guān)文章
SQL2000個(gè)人版 應(yīng)用程序正常初始化失敗0乘以C0000135失敗
應(yīng)用程序正常初始化(0*c0000135)失敗。是什么意思?2011-01-01
SQL Server無日志恢復(fù)數(shù)據(jù)庫(2種方法)
SQL Server數(shù)據(jù)庫中的日志文件可能會(huì)由于一些突發(fā)事件或者失誤造成丟失的嚴(yán)重后果,大家都知道,SQL Server數(shù)據(jù)庫中日志文件是很重要的,所以要及時(shí)的將丟失的日志文件給找回來。下文就為大家介紹一種恢復(fù)數(shù)據(jù)庫日志文件的方法。2015-08-08
多表關(guān)聯(lián)同時(shí)更新多條不同的記錄方法分享
因?yàn)轫?xiàng)目要求實(shí)現(xiàn)一次性同時(shí)更新多條不同的記錄的需求,和同事討論了一個(gè)比較不錯(cuò)的方案,這里供大家參考下2011-10-10
SQL Server 常用函數(shù)使用方法小結(jié)
這篇文章主要介紹了SQL Server 常用函數(shù)使用方法小結(jié),需要的朋友可以參考下2017-05-05
如何恢復(fù)數(shù)據(jù)庫備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫上
如何恢復(fù)數(shù)據(jù)庫備份到一個(gè)已存在的正在使用的數(shù)據(jù)庫上...2007-01-01

