ASP.NET中的對象描述
幾個asp.net中的對象:
1.Request:可以訪問關(guān)于請求Web頁面的個人或進程的信息
2.Response:提供一種方法,以準確控制如何將響應(yīng)發(fā)送回發(fā)出請求的人那里
3.Server:提供一系列有用的與Web相關(guān)的實用程序。
4.Application:為經(jīng)常使用的信息提供了一個有用的Web站點存儲位置
5.Session:可以為每個用戶的會話存儲信息。
ASP.NET中的對象·Request
Request可以訪問關(guān)于請求Web頁面的個人或進程的信息。Request對象可以從個人的Web瀏覽器向我們有效的傳遞消息。
比較有用的兩個屬性為:
Cookies:通過這個屬性可以查看訪問者以前在本站的cookies
QueryString:返回任何使用GET傳輸?shù)巾撁娴膮?shù)。
ASP.NET中的對象·Response
Response提供一種方法,以準確控制如何將響應(yīng)發(fā)送回發(fā)出請求的人那里。Response對象可以訪問即將發(fā)送回請求Web瀏覽器的http響應(yīng)。
常用屬性:
1. Redirect:它將用戶重定向到另一個頁面
2. Write:將字符串寫入html流。
Server
ASP.NET中的對象·Server
提供一系列有用的與Web相關(guān)的實用程序。
常用屬性:
MapPath:此屬性帶有一個虛擬路徑的參數(shù)
比如MapPath(“/webapp/myfile.aspx”),返回該文件在物理磁盤的準確位置
狀態(tài)處理:
包括Application,Session,Cookies
主要要注意的有狀態(tài)的作用域,狀態(tài)存儲位置,狀態(tài)如何改變等。
ASP.NET中的對象·Application
Application為經(jīng)常使用的信息提供了一個有用的Web站點存儲位置
Application中的信息可以被網(wǎng)站的所有頁面訪問。
Application的初始配置:
在應(yīng)用程序啟動時配置初始狀態(tài),在Global.asax中配置
- protected void Application_Start(Object sender, EventArgs e)
- {
- Application["UserCount"] = 0;
- }
使用Lock和Unlock避免兩個頁面同時修改狀態(tài)
- Application.Lock();
- Application["UserCount"] = (int)Application["UserCount"]+1;
- Application.UnLock();
Application幾點說明:
1. 它用于經(jīng)常使用的數(shù)據(jù),如果只是偶爾使用,可以把信息存儲在磁盤的文件中,大部分情況下,web.config文件可以完成這個任務(wù)。
2. Application對象是一個集合對象,它除了包含文本信息外,也可以存儲對象。
3. 如果站點開始就有很大的通信量,則使用Web.config文件,不要用Application狀態(tài)
ASP.NET中的對象·Session
它可以為每個用戶的會話存儲信息。默認的超時時間為20分鐘,用戶關(guān)閉網(wǎng)頁后自動結(jié)束。
常用屬性:
Abandon():此方法結(jié)束當前的會話,清楚會話中的所有信息。
Clear():清除會話中所有信息,不結(jié)束會話。
IsNewSession:如果在用戶訪問當前頁面時創(chuàng)建了繪畫,則此屬性返回true,在使用會話前需要使用某些數(shù)據(jù)初始化會話時,該屬性很有用。
TimeOut:此屬性在會話終于之前以分鐘為單位獲取和設(shè)置閑置時間。默認時間為20分鐘
- if (Session["test"]==null)
- {
- Session["test"] = 1;
- }
- else
- {
- Session["test"] = (int)Session["test"]+1;
- }
Session說明:
1. 存儲在Web服務(wù)器端,
2. 實際信息與每一位訪問者相關(guān)
3. 是對象集合,可以存儲對象
4. 不要在會話中存儲不常時間的東西,不要在會話中存儲大量東西
Cookies
存儲與每一位用戶相關(guān)的小段信息,通常也與網(wǎng)站相關(guān)。存儲在用戶的硬盤上,通常期限比Session的期限大。
Cookies的生存期設(shè)置
- 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();
- }
【編輯推薦】
- ASP.NET1.1驗證碼產(chǎn)生的原理及應(yīng)用
- 靜態(tài)文件處理:ASP.NET1.1和ASP.NET2.0對之不同
- 在ASP.NET中執(zhí)行windows程序(ASP.NET1.1)
- 對asp.net1.1開發(fā)模板類的修改說明
- 用ASP.NET連接Oracle9i(ASP.NET1.1)