C# .NETWEB開發6大內置對象詳解


ASP.NET 內置對象包括 1.Response 2.Request  3.Server  4.Application   5.Session   6.Cookie

1  Request對象主要是讓服務器取得客戶端瀏覽器的一些數據,包括從HTML表單用Post或者GET方法傳遞的參數、Cookie和用戶認證。

2 Request對象是Page對象的成員之一。

3 程序中不需要做任何的聲明即可直接使用;其類名為 HttpRequest屬性很多,但方法很少,只有一個BinaryRead()
1.使用Request.Form屬性獲取數據
  通過該屬性,讀取之間的表單數據.注意:提交方式要設置為“Post”。與Get方法相比較,使用Post方法可以將大量數據發送到服務器端
2.利用Request.QueryString屬性獲取數據
  Request對象的QuerySting屬性可以獲取 HTTP 查詢字符串變量集合 。 通過該屬性,我們可以讀取地址信息  http://localhost/aaa.aspx?uid=tom&pwd=abc其中標識為紅色部分的數據.注意:提交方式要設置為“Get”
3.問題:Request.Form用於表單提交方式為Post的情況,而Request.QueryString用於表單提交方式為Get的情況,如果用錯,則獲取不到數據。解決方法:利用Request(“元素名”)來簡化操作。

     1.Response.Write 變量數據或字符串    Response.Write (變量數據或字符串)

  <%=…%>Response.Write("alert('歡迎學習ASP.NET')")

  Response.Write(" ")

  2.Response對象的Redirect方法將客戶端瀏覽器重定向到另外的URL上,即跳轉到另一個網頁。例如:Response.Redirect("http://www.example.com/")

  3. Response.End() 終止當前頁的運行

  4.Response.WriteFile(FileName)其中:FileName 指代需向瀏覽器輸出的文件的文件名


  Server對象提供對服務器上的方法和屬性進行的訪問 .其類名稱是HttpServerUtility.
  Server對象的主要屬性有

  MachineName:獲取服務器的計算機名稱。
  ScriptTimeout:獲取和設置請求超時(以秒計)。
方法名稱 說明

  CreateObject 創建 COM 對象的一個服務器實例。

  Execute 執行當前服務器上的另一個aspx頁,執行完該頁后再返回本頁繼續執行

  HtmlEncode 對要在瀏覽器中顯示的字符串進行HTML編碼並返回已編碼的字符串。

  HtmlDecode 對HTML編碼的字符串進行解碼,並返回已解碼的字符串。

  MapPath 返回與 Web 服務器上的指定虛擬路徑相對應的物理文件路徑。

  Transfer 終止當前頁的執行,並為當前請求開始執行新頁。

  UrlEncode 將代表URL的字符串進行編碼,以便通過 URL 從 Web 服務器到客戶端進行可靠的 HTTP 傳輸。

  UrlDecode 對已被編碼的URL字符串進行解碼,並返回已解碼的字符串。

  UrlPathEncode 對 URL 字符串的路徑部分進行 URL 編碼,並返回已編碼的字符串。

  編碼:Server.HtmlEncode(“HTML代碼”)

  解碼:Server.HtmlDecode(“已編碼的HTML”)

  1.Server對象的MapPath方法將虛擬路徑或相對於當前頁的相對路徑轉化為Web 服務器上的物理文件路徑。  語法:

 

  
  
  
          Server.MapPath(“虛擬路徑”)
String FilePath
FilePath
= Server.MapPath(“/”)
Response.Write(FilePath)



Application對象在實際網絡開發中的用途就是記錄整個網絡的信息,如上線人數、在線名單、意見調查和網上選舉等。在給定的應用程序的多有用戶之間共享信息,並在服務器運行期間持久的保存數據。而且Application對象還有控制訪問應用層數據的方法和可用於在應用程序啟動和停止時觸發過程的事件。

 1.使用Application對象保存信息Application(“鍵名”) = 值或Application(“鍵名”,值)獲取Application對象信息變量名 = Application(“鍵名”)或:變量名 = Application.Item(“鍵名”)或:變量名 = Application.Get(“鍵名”)更新Application對象的值

  Application.Set(“鍵名”, 值)

  刪除一個鍵

  Application.Remove(“鍵名”, 值)

  刪除所有鍵

  Application.RemoveAll()或Application.Clear()
2.有可能存在多個用戶同時存取同一個Application對象的情況。這樣就有可能出現多個用戶修改同一個Application命名對象,造成數據不一致的問題。HttpApplicationState 類提供兩種方法 Lock 和 Unlock,以解決對Application對象的訪問同步問題,一次只允許一個線程訪問應用程序狀態變量。

  關於鎖定與解鎖

  鎖定:Application.Lock()

  訪問:Application(“鍵名”) = 值

  解鎖:Application.Unlock()

  注意:Lock方法和UnLock方法應該成對使用。  可用於網站訪問人數,聊天室等設備。
3. 使用Application事件 

  在ASP.NET 應用程序中可以包含一個特殊的可選文件——Global.asax 文件,也稱作ASP.NET 應用程序文件,它包含用於響應 ASP.NET或HTTP模塊引發的應用程序級別事件的代碼。Global.asax 文件提供了7個事件,其中5個應用於Application對象 

  事件名稱 說明

  Application_Start 在應用程序啟動時激發

  Application_BeginRequest 在每個請求開始時激發

  Application_AuthenticateRequest 嘗試對使用者進行身份驗證時激發

  Application_Error 在發生錯誤時激發

  Application_End 在應用程序結束時激發

Session即會話,是指一個用戶在一段時間內對某一個站點的一次訪問。

Session對象在.NET中對應HttpSessionState類,表示“會話狀態”,可以保存與當前用戶會話相關的信息。
Session對象用於存儲從一個用戶開始訪問某個特定的aspx的頁面起,到用戶離開為止,特定的用戶會話所需要的信息。用戶在應用程序的頁面切換時,Session對象的變量不會被清除。對於一個Web應用程序而言,所有用戶訪問到的Application對象的內容是完全一樣的;而不同用戶會話訪問到的Session對象的內容則各不相同。Session可以保存變量,該變量只能供一個用戶使用,也就是說,每一個網頁瀏覽者都有自己的Session對象變量,即Session對象具有唯一性。
(1)將新的項添加到會話狀態中

  語法格式為:

  Session ("鍵名") = 值

  或者

  Session.Add( "鍵名" , 值)

  (2)按名稱獲取會話狀態中的值

  語法格式為:

  變量 = Session ("鍵名")

  或者

  變量 = Session.Item("鍵名")

  (3)刪除會話狀態集合中的項

  語法格式為:Session.Remove("鍵名")

  (4)清除會話狀態中的所有值

  語法格式為:Session.RemoveAll()

  或者Session.Clear()

  (5)取消當前會話

  語法格式為:Session.Abandon()

  (6)設置會話狀態的超時期限,以分鍾為單位。

  語法格式為:Session.TimeOut = 數值

  Global.asax 文件中有2個事件應用於Session對象

  事件名稱 說明

  Session_Start 在會話啟動時激發

  Session_End 在會話結束時激發

 Cookie就是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息並且隨后再取回它。信息的片斷以‘鍵/值’對的形式存儲。

  Cookie是保存在客戶機硬盤上的一個文本文件,可以存儲有關特定客戶端、會話或應用程序的信息,在.NET中對應HttpCookie類。有兩種類型的Cookie:會話Cookie(Session Cookie)和持久性Cookie。前者是臨時性的,一旦會話狀態結束它將不復存在;后者則具有確定的過期日期,在過期之前Cookie在用戶的計算機上以文本文件的形式存儲。在服務器上創建並向客戶端輸出Cookie可以利用Response對象實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM