Asp.net中的幾個對象詳細簡述

Asp.net中的幾個對象

  1.  Request:可以訪問關於請求Web頁面的個人或進程的信息

  2.  Response:提供一種方法,以準確控制如何將響應發送回發出請求的人那裏

  3.  Server:提供一系列有用的與Web相關的實用程序。

  4.  Application:爲經常使用的信息提供了一個有用的Web站點存儲位置

  5.  Session:可以爲每個用戶的會話存儲信息。

  Request

  Request可以訪問關於請求Web頁面的個人或進程的信息。Request對象可以從個人的Web瀏覽器向我們有效的傳遞消息。

比較有用的兩個屬性爲:

Cookies:通過這個屬性可以查看訪問者以前在本站的cookies

QueryString:返回任何使用GET傳輸到頁面的參數。

  Response

  Response提供一種方法,以準確控制如何將響應發送回發出請求的人那裏。Response對象可以訪問即將發送回請求Web瀏覽器的http響應。

常用屬性:

1.  Redirect:它將用戶重定向到另一個頁面

2.  Write:將字符串寫入html流。

  Server

Server提供一系列有用的與Web相關的實用程序。

常用屬性:

MapPath:此屬性帶有一個虛擬路徑的參數

比如MapPath(“/webapp/myfile.aspx”),返回該文件在物理磁盤的準確位置

狀態處理:

包括Application,Session,Cookies

主要要注意的有狀態的作用域,狀態存儲位置,狀態如何改變等。

  Application

Application爲經常使用的信息提供了一個有用的Web站點存儲位置

Application中的信息可以被網站的所有頁面訪問。

Application的初始配置:

在應用程序啓動時配置初始狀態,在Global.asax中配置

protected void Application_Start(Object sender, EventArgs e)

         {

              Application["UserCount"] = 0;

         }

使用Lock和Unlock避免兩個頁面同時修改狀態

Application.Lock();

Application["UserCount"] = (int)Application["UserCount"]+1;

Application.UnLock();

Application幾點說明:

1.   它用於經常使用的數據,如果只是偶爾使用,可以把信息存儲在磁盤的文件中,大部分情況下,web.config文件可以完成這個任務。

2.  Application對象是一個集合對象,它除了包含文本信息外,也可以存儲對象。

3.  如果站點開始就有很大的通信量,則使用Web.config文件,不要用Application狀態

  Session

  它可以爲每個用戶的會話存儲信息。默認的超時時間爲20分鐘,用戶關閉網頁後自動結束。

常用屬性:

Abandon():此方法結束當前的會話,清楚會話中的所有信息。

Clear():清除會話中所有信息,不結束會話。

IsNewSession:如果在用戶訪問當前頁面時創建了繪畫,則此屬性返回true,在使用會話前需要使用某些數據初始化會話時,該屬性很有用。

TimeOut:此屬性在會話終於之前以分鐘爲單位獲取和設置閒置時間。默認時間爲20分鐘

if (Session["test"]==null)

{

     Session["test"] = 1;

}

else

{

     Session["test"] = (int)Session["test"]+1;

}

Session說明:

1.  存儲在Web服務器端,

2.  實際信息與每一位訪問者相關

3.  是對象集合,可以存儲對象

4.  不要在會話中存儲不常時間的東西,不要在會話中存儲大量東西

  Cookies

  存儲與每一位用戶相關的小段信息,通常也與網站相關。存儲在用戶的硬盤上,通常期限比Session的期限大。

Cookies的生存期設置

DateTime dt = DateTime.Now;

TimeSpan timeSpan = new TimeSpan(30,0,0,0);  //30天

if (Request.Cookies["test"]!=null)

{

      Request.Cookies["test"].Expires = dt.Add(timeSpan);

     }

cookies例子

if (Request.Cookies["test"]==null)

     {

      int i = 1;

      HttpCookie c = new HttpCookie("test");

      c.Value = "1";

      Request.Cookies.Add(c);

     }

else

     {

      int k = Convert.ToInt32(Request.Cookies["test"].Value)+1;

      Request.Cookies["test"].Value = k.ToString();

     }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章