主頁 > 知識庫 > ASP.NET Session對象保持會話使用說明

ASP.NET Session對象保持會話使用說明

熱門標簽:朝陽市地圖標注 太原外呼電銷機器人費用 電話機器人廣告話術(shù) 外呼系統(tǒng)用員工身份證 使用智能電話機器人違法嗎 蘇州銷售外呼系統(tǒng)預算 淘寶地圖標注如何做 東莞語音電銷機器人排名 保山電話外呼管理系統(tǒng)怎么用
ASP.NET提供了Session對象,從而允許程序員識別、存儲和處理同一個瀏覽器對象對服務器上某個特定網(wǎng)絡應用程序的若干次請求的上下文信息。Session對應瀏覽器與服務器的同一次對話,在瀏覽器第一請求網(wǎng)絡應用程序的某個頁面時,服務器會觸發(fā)Session_onStart事件;在對話超時或者被關(guān)閉的時候會觸發(fā)Session_onEnd事件。程序員可以在代碼中響應這兩個事件來處理與同一次對話相關(guān)的任務,如開辟和釋放該次對話要使用的資源等。

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

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

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

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

例如:
osql-s(local)-uas-p“”-iInstallSqlState.sql
做好必要的數(shù)據(jù)庫準備工作后,將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服務器之外,還可以利用SQLServer的集群,使狀態(tài)存儲不依賴于單個的SQLServer,這樣就可以為應用程序提供極大的可靠性。

總結(jié):seesion通過兩種方式保持會話,cookie/存儲到數(shù)據(jù)中去
您可能感興趣的文章:
  • Asp.net中判斷一個session是否合法的方法
  • 幾種判斷asp.net中session過期方法的比較
  • asp.net配置會話狀態(tài)Session實現(xiàn)代碼
  • asp.net session的使用與過期實例代碼

標簽:克拉瑪依 潛江 洛陽 綏化 阿里 西藏 呼倫貝爾 運城

巨人網(wǎng)絡通訊聲明:本文標題《ASP.NET Session對象保持會話使用說明》,本文關(guān)鍵詞  ASP.NET,Session,對象,保持,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET Session對象保持會話使用說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET Session對象保持會話使用說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章