1、ASP.NET的主要優點html
後來因爲ASP.NET 開發出來的程序穩定性很差,微軟就從新推出了MVC瀏覽器
2、ASP.NET的運行機制 安全
若是是靜態文件,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 | 每一個用戶都是獨立的 | 保存在服務端 | 保存任何類型的數據 | 安全 |