最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:42:11
文檔

ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明

ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明:ASP.NET提供了Session對(duì)象,從而允許程序員識(shí)別、存儲(chǔ)和處理同一個(gè)瀏覽器對(duì)象對(duì)服務(wù)器上某個(gè)特定網(wǎng)絡(luò)應(yīng)用程序的若干次請(qǐng)求的上下文信息。Session對(duì)應(yīng)瀏覽器與服務(wù)器的同一次對(duì)話,在瀏覽器第一請(qǐng)求網(wǎng)絡(luò)應(yīng)用程序的某個(gè)頁(yè)面時(shí),服務(wù)器會(huì)觸發(fā)Session_o
推薦度:
導(dǎo)讀ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明:ASP.NET提供了Session對(duì)象,從而允許程序員識(shí)別、存儲(chǔ)和處理同一個(gè)瀏覽器對(duì)象對(duì)服務(wù)器上某個(gè)特定網(wǎng)絡(luò)應(yīng)用程序的若干次請(qǐng)求的上下文信息。Session對(duì)應(yīng)瀏覽器與服務(wù)器的同一次對(duì)話,在瀏覽器第一請(qǐng)求網(wǎng)絡(luò)應(yīng)用程序的某個(gè)頁(yè)面時(shí),服務(wù)器會(huì)觸發(fā)Session_o

ASP.NET提供了Session對(duì)象,從而允許程序員識(shí)別、存儲(chǔ)和處理同一個(gè)瀏覽器對(duì)象對(duì)服務(wù)器上某個(gè)特定網(wǎng)絡(luò)應(yīng)用程序的若干次請(qǐng)求的上下文信息。Session對(duì)應(yīng)瀏覽器與服務(wù)器的同一次對(duì)話,在瀏覽器第一請(qǐng)求網(wǎng)絡(luò)應(yīng)用程序的某個(gè)頁(yè)面時(shí),服務(wù)器會(huì)觸發(fā)Session_onStart事件;在對(duì)話超時(shí)或者被關(guān)閉的時(shí)候會(huì)觸發(fā)Session_onEnd事件。程序員可以在代碼中響應(yīng)這兩個(gè)事件來(lái)處理與同一次對(duì)話相關(guān)的任務(wù),如開(kāi)辟和釋放該次對(duì)話要使用的資源等。

在ASP.NET的程序中要使用Session對(duì)象時(shí),必須確保頁(yè)面的@page指令中EnableSessionState屬性是True或者Readonly,并且在web.config文件中正確的設(shè)置了SessionState屬性。
ASP.NET中Session的狀態(tài)保持是由web.config文件中的<system.web>標(biāo)記下的<sessionstate>標(biāo)記的mode屬性來(lái)決定的。該屬性有四種可能的值:Off、Inproc、StateServer和SQlServer.

設(shè)為Off會(huì)禁用Session.
Inproc是缺省的設(shè)置,這種模式和以前的ASP的會(huì)話狀態(tài)的方法是類似的,會(huì)話的狀態(tài)會(huì)被保存在ASP.NET進(jìn)程中,它的優(yōu)點(diǎn)是顯而易見(jiàn)的:性能。進(jìn)程內(nèi)的數(shù)據(jù)訪問(wèn)自然會(huì)比夸進(jìn)程的訪問(wèn)快。然而,這種方法Session的狀態(tài)依賴于ASP.NET進(jìn)程,當(dāng)IIS進(jìn)程崩潰或者正常重起啟時(shí),保存在進(jìn)程中的狀態(tài)將丟失。
為了克服Inproc模式的缺點(diǎn),ASP.NET提供了兩種進(jìn)程外保持會(huì)話狀態(tài)的方法。
ASP.NET首先提供了提供了一個(gè)Windows服務(wù):ASPState,這個(gè)服務(wù)啟動(dòng)后,ASP.NET應(yīng)用程序可以將mode屬性設(shè)置為“SateServer”,來(lái)使用這個(gè)Windows服務(wù)提供的狀態(tài)管理方法。
除了在web.config文件中設(shè)置mode屬性為StateServer外,還必須設(shè)置運(yùn)行StateServer服務(wù)器的IP地址和端口號(hào).如果在IIS所在的機(jī)器運(yùn)行StateServer則IP地址就是127.0.0.1,端口號(hào)通常是42424.配置如下:

mode=”StateServer”
stateConnectionString="tcpip=127.0.0.1:42424"
使用這種模式,會(huì)話狀態(tài)的存儲(chǔ)將不依賴IIS進(jìn)程的失敗或者重啟,會(huì)話的狀態(tài)將存儲(chǔ)在StateServer進(jìn)程的內(nèi)存空間中。

另一種會(huì)話狀態(tài)模式是SQLServer模式。這種模式是將會(huì)話的狀態(tài)保存在SQLServer數(shù)據(jù)庫(kù)中的。使用這種模式前,必須至少有一臺(tái)SQLServer服務(wù)器,并在服務(wù)器中建立需要的表和存儲(chǔ)過(guò)程。.NETSDK提供了兩個(gè)腳本來(lái)簡(jiǎn)化這個(gè)工作:InstallSqlState.sql和UnInstallSqlState.sql。這兩國(guó)文件存放在下面路徑中:
<%SYSTEMDRIVER%>\Winnt\Microsoft.NET\Framework\<%version%>\
要配置SQLServer服務(wù)器,可以在命令行中運(yùn)行SQLServer提供的命令行工具osql.exe
osql-s[servername]-u[user]-p[password]<InstallSqlState.sql

例如:
osql-s(local)-uas-p“”-iInstallSqlState.sql
做好必要的數(shù)據(jù)庫(kù)準(zhǔn)備工作后,將web.config文件中的sessionstate元素的mode屬性改為”sqlserver”,并指定SQL連接字符串。具體如下:

mode="SQLServer"
sqlConnectionString="datasource=127.0.0.1;userid=sa;password=;Trusted_Connection=yes"
使用SQLServer模式處了可以使Session的狀態(tài)不依賴于IIS服務(wù)器之外,還可以利用SQLServer的集群,使?fàn)顟B(tài)存儲(chǔ)不依賴于單個(gè)的SQLServer,這樣就可以為應(yīng)用程序提供極大的可靠性。

總結(jié):seesion通過(guò)兩種方式保持會(huì)話,cookie/存儲(chǔ)到數(shù)據(jù)中去

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明

ASP.NET Session對(duì)象保持會(huì)話使用說(shuō)明:ASP.NET提供了Session對(duì)象,從而允許程序員識(shí)別、存儲(chǔ)和處理同一個(gè)瀏覽器對(duì)象對(duì)服務(wù)器上某個(gè)特定網(wǎng)絡(luò)應(yīng)用程序的若干次請(qǐng)求的上下文信息。Session對(duì)應(yīng)瀏覽器與服務(wù)器的同一次對(duì)話,在瀏覽器第一請(qǐng)求網(wǎng)絡(luò)應(yīng)用程序的某個(gè)頁(yè)面時(shí),服務(wù)器會(huì)觸發(fā)Session_o
推薦度:
標(biāo)簽: 方法 使用 保持
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top