Application對象、Session對象、Cookie對象、Server對象初步認識

來源:互聯網
上載者:User

標籤:

Application對象:記錄應用程式參數的對象

用於共用應用程式級資訊,即多個使用者共用一個Application對象。在第一個使用者請求ASP.NET檔案時,將啟動應用程式並建立Application對象。一旦Application對象被建立,它就可以共用和管理整個應用程式的資訊。在應用程式關閉之前,Application對象一直存在。所以,Application對象是用於啟動和管理ASP.NET應用程式的主要對象

屬性:

Application.AllKeys:返回全部Application物件變數名到一個字串數組中

Application.Count:擷取Application物件變數的數量

Application.Item:允許使用索引或者Application變數名稱傳回內容值

 

Application["app1"]="app1";Application[0]//給Application物件變數賦值

Application["app2"]="app2";Application[1]

Application["app3"]="app3";Application[2]

方法:

Application.Add("app1","app1");//新增一個Application變數

Application.Clear();//清除全部Application物件變數

Application.Lock();//鎖定全部Application物件變數

Application.Remove("app1");//使用變數名移除一個Application物件變數

Application.RemoveAll();//移除全部Application物件變數

Application.UnLock();//解除鎖定的Application物件變數

常用事件:

1、Application_Start事件

Application_Start事件在首次建立新的會話(即事件)之前發生,只有Application和Server內建對象可以使用。在Application_Start事件中引用Session、Request或Response對象將導致錯誤。由於Application對象是多使用者共用的,因此它與Session對象有本質區別,同時Application對象不會因為某一個甚至全部使用者的離開而消失,一旦建立了Application對象,那麼它就會一直存在直到網站關閉或者該Application對象被卸載,這通常需要很長時間。由於Application對象建立後不會自己登出,因此一定要特別小心使用。另外,它會佔用記憶體,要避免降低伺服器對其他工作的響應速度。中止Application對象有3中方法,分別為服務被中止、Global.asax檔案被改變或者該Application對象被卸載

2、Application_End事件

Application_End事件在應用程式退出時於Session_End事件之後發生,只有Application和Server內建對象可使用。Application_End事件只有在服務中止或者該Application對象卸載時才會觸發,如果單獨使用Application對象,該事件可以通過Application對象在利用Unload事件卸載時進行觸發。一個Application_End事件肯定發生在Session_End事件之後。Application_End事件觸發唯一一個指令碼程式,它存在於Global.asax檔案中

*如果希望服務中止或者Application對象卸載時執行某些操作,可以在Application_End事件中編寫相應代碼

Application應用:

實現線上人數統計

 1 Void Session_Start(object sender, EventArgs e) 2 { 3       Application.Lock();//鎖定 4       Application["count"] = (int)Application["count"] + 1;//訪客增加     5       Application.UnLock();//開鎖 6 } 7  8 Void Session_End(object sender, EventArgs e) 9 {10       Application.Lock();//鎖定11       Application["count"] = (int)Application["count"] - 1;//訪客減少    12       Application.UnLock();//開鎖13 }
View Code

Session對象:記錄瀏覽器端的變數對象

用來儲存跨網頁程式的變數或者對象。Session對象只針對單一網頁使用者,也就是說伺服器會為串連的用戶端分配各自的Session對象,不同的用戶端無法互相存取。當Session對象超過設定的有效時間時,Session對象就會消失。Session對象和Application對象都是Page對象的成員,因此可直接在網頁中使用。

屬性:

Session.Contents:擷取對當前工作階段狀態對象的引用

Item:擷取或設定會話值

TimeOut:設定Session對象的有效時間,預設值為20分鐘;可以在應用程式的web.config檔案中,使用sessionState配置元素的timeout屬性來設定TimeOut屬性,也可以直接使用程式碼來設定TimeOut屬性值

方法:

Abandon:此方法結束當前會話,並清除會話中的所有資訊

Add:用於向Session對象集合中添加一個新項

CopyTo:將工作階段狀態值的集合複製到一維數組中(從數組的指定索引處開始)

Clear:此方法清除全部的Session物件變數,但不結束會話

Session應用:

記錄使用者名稱和密碼

Session["UserName"] = UserName;

Session["PassWord"] = PassWord;

 

Application對象、Session對象、Cookie對象、Server對象初步認識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.