asp .Net 基礎知識複習(二)


1、ASP.NET的主要優點html

  1. 有豐富的資源,利用控件快速開發程序,開發成本低
  2. 代碼後置,方便分工合做

  後來因爲ASP.NET 開發出來的程序穩定性很差,微軟就從新推出了MVC瀏覽器


 

2、ASP.NET的運行機制 安全

  1. 客戶端發送HTTP請求,經過DNS解析成一個IP
  2. 服務器的IIS接收IP請求,對其請求的文件進行判斷是靜態文件(.html  .jpf  .jif等)仍是動態文件(.aspx   .master   .ascx  .asmx等)

若是是靜態文件,IIS本身處理,找到文件發送給客戶端;服務器

若是是動態文件,將界面代碼和後臺代碼進行合併,編譯,實例化,獲得Page對象 頁面的生命週期開始  init 初始化  Load 加載  驗證  Render 呈現(生成HTML源碼)   將HTML源碼發送給客戶端瀏覽器  瀏覽器解釋HTML 獲得頁面網站


 

 3、系統對象編碼

一、ASP.NET中經常使用的系統對象code

  Page 對象:提供對當前頁面對象的訪問,控制頁面的行爲;類型:System.Web.UI.Pageorm

  Response 對象:輸出信息傳給客戶端;類型:System.Web.HttpResponsehtm

  Request 對象:輸入信息到服務器;類型:System.Web..HttpRequest對象

  Server 對象:提供對服務器上方法和屬性的訪問;類型:System.Web.HttpServerUtility

  Session 對象:會話期狀態保持對象,用於跟蹤單一用戶的會話;類型:System.Web.SessionState.HttpSessionState

  Cookie 對象:客戶端保持回話信息的一種方式

  Application 對象:做用於整個程序運行期的準櫃檯對象;類型:System.Web.HttpApplicationState

 二、(1)Page 對象

    Page是Page類對象,表明一個Web窗體,它充當頁面中包含的因此服務器控件的一個外圍的命名容器

    經常使用屬性:Title  獲取或設置網頁的標題

           IsPostBack  獲取一個值,用於指示該頁面是否正爲響應客戶端回發而加載獲知是否被首次加載和訪問

         IsValid      獲取一個值,用於指示該頁面驗證是否成功

  (2)Response 對象

    服務器對客戶端響應的集合。

    經常使用屬性:Write()  直接在頁面上輸出內容

           Redirect()  重定向到另外一個頁面

  (3)Request 對象

   讀取瀏覽器已經發送的內容,以使ASP.NET可以讀取客戶端在Web請求期發送的Http值

    經常使用屬性:QueryString["對象名"]    獲取經過URL路徑傳來的數據(問號傳值)

    例如:

    窗體1

    

    窗體2

    

    Form       獲取經過表單提交傳輸的數據

    ServerVariables    獲取Web服務器變量的集合

    Params     以上3種傳輸的內容均可以使用該屬性獲取

Page 對象、Response 對象、Request 對象都是不要聲明就可使用的內置對象

 

  (4)Server 對象

  經常使用屬性:

    MapPath()    得到文件的物理路徑

    Execute()     執行其餘頁,返回執行結果

           Transfer()     終止當前頁的執行,並在當前請求中執行其餘頁

    HtmlEncode()   編碼字符串,使其在瀏覽器中顯示與原字符串一致

           HtmlDecode()   對使用 HtmlEncode 編碼的字符串結果進行編碼

    UrlEncode()    編碼字符串,使其符合URL地址的格式的要求

    UrlDecode()    對使用 UrlEncode 編碼的字符串結果進行編碼

    例如:

      

  (5)Session 對象

    <1>、定義:存儲會話中數據的對象,一樣以鍵值字典的方式訪問

    <2>、Session對象的使用:

      Session["對象名"]=值;

      Session("對象名",值);

      Session變量的有效期,若是之後兩次訪問Session變量的時間間隔超過有效期,服務器就自動釋放該變量,默認20分鐘。

      Session.Timeout=30    設置有效期

      Session.Abandon();     刪除因此

      Session.Clear();      移除全部

      Session.Remove(對象名)       移除回話集合中的項

     Session 簡單來講,就是服務器給客戶端的一個編號,有若干個用戶同時訪問一個服務器的網站,當每一個用戶首次與這臺服務器創建鏈接時,它就與這個服務器創建了一個Session,同時服務器會自動分配一個SessionID,用以標記這個用戶的惟一身份,這個SessionID是由服務器隨機產生的一個24個字符組成的字符串。

      <3>、使用場合:  購物車,等

   (6)Cookie 對象

      Cookies 通常用於長期保存與用戶相關的少許信息,如 記住密碼的功能;Cookie是一段文本,伴隨着請求和響應在服務器和客戶端之間來回傳輸

    Response.Cookies["Username"].Value="das";     設置

    Response.Cookies["Username"].Expires=DateTime.Now.AddDays(1);     設置Cookie中保存Username的值有效期爲1天

    string user=Request.Cookies["Username"].Value;   獲得

   第二種方式:

    HttpCookie  hcCookie=new HttpCookie("UserName","張三");

    hcCookie  Expires=DateTime.Now.AddMinutes(10);       過時時間爲10分鐘

    Response.Cookies.Add(hcCookie);

  (7)  Application 對象

    用於存儲應用程序級別的數據,用於存儲頁面訪問的次數

    Application  對象的重要屬性:

    Lock:鎖定對Application 對象的訪問

    UnLock:取消對 Application 對象的訪問鎖定

  當頁面中須要對保存在Application 對象中的數據進行修改時,必須先使用Lock 方法鎖定訪問再修改,修改完畢後當即使用UnLock 方法解除訪問鎖定。以下:

     Application.Lock();
            Application["visits"] = (int)Application["visits"] + 1;
            Application.UnLock();
            Response.Write("<br/>您是第" + Application["visits"].ToString() + "位訪客!");


 

4、Session、Cookie、Applicetion  三者區別

對象名 獨立性 保存位置 支持的數據類型 安全性
Session 每一個用戶都是獨立的 保存在服務端 保存任何類型的數據 安全
Cookie 每一個用戶是能夠共享的 保存在客戶端 只能是文本類型 不安全
Application 每一個用戶都是獨立的 保存在服務端 保存任何類型的數據 安全
相關文章
相關標籤/搜索