【ASP.NET】——簡單認識
ASP.NET簡介
ASP.NET概念:ASP.NET是.NETFrameWork的一部分,是一項微軟公司的技術,是一種嵌入網頁中的指令碼可由因特網伺服器執行的伺服器端指令碼技術,它可以通過HTTP請求文件時再在web伺服器上動態建立。
ASP英語全稱為Active Server Pages(動態伺服器頁面),運行於IIS(Internet Information Server)服務,是Windows開發的web伺服器之中的程式。
ASP.NET是一種指令碼語言,是微軟發展的新型體系結構.NET的一部分。
ASP的缺點:
- 僅倆種非型別語言:VBScript和javascript
- ASP頁需要解釋
- 程式碼,HTML和文字的混合
- 使用同一檔案
- 額外的功能程式碼
- 程式碼不能重用
- 沒有除錯機制
- 先關閉web伺服器才能安裝新版本的DLL
ASP.NET的優點:
- 支援強型別語言,如C#,VB
- 編譯頁可以改進執行速度
- 提供宣告性伺服器控制元件
- ASP程式碼與HTML設計和文字分離
- 內建方法trace可以幫助除錯頁
- 通過繼承機制支援程式碼的重用
- 無需註冊元件
ASP.NET內建物件:
1、Request物件
request封裝了客戶端請求資訊。request的常見屬性如下:
2、Response物件
Response代表了伺服器響應物件。每次客戶端發出一個請求的時候,伺服器就會用一個響應物件來處理這個請求,處理完這個請求之後,伺服器就會銷燬這個響應物件,以便繼續接受其他客戶端請求。
response常用屬性:
response常用方法:
URL地址不區分大小寫。網頁的預設編碼,請求物件的字元編碼是UTF-8,而響應物件的編碼為gb2312。這樣極有可能產生亂碼問題,所謂亂碼,就是用一種編碼的字串卻用了領一種編碼來顯示,造成不能正常顯示的現象。常見的伺服器響應的contentType是“text/html”,程式碼響應是以HTML檔案傳輸的。
其他的形式的contentType:
image/jpeg:響應物件是jpeg圖片
text/xml:響應物件是xml檔案
text/javascript:響應物件是javascript
Response的contentType屬性預設是“text/html”,表示伺服器以HTML檔案響應客戶端請求,如果需要用其他方式響應客戶端請求,則需要設定contentType屬性。
3、Server物件
Server物件是用於獲取伺服器的相關資訊的物件。常用方法如下:
4、Session物件
Session物件用來儲存與特定使用者相關的資訊,Session中的資料儲存在伺服器端,在客戶端需要時建立Session,在客戶端不需要的時候銷燬Session,使它不再佔用伺服器記憶體。
伺服器並不管客戶端是否依然存在,因而它也無法確定客戶端什麼時間不再使用它,但是如果在客戶端不及時銷燬Session的話,伺服器很快就會記憶體不足。為了解決這個問題,給Session加了一個生命週期,當伺服器發現session超過了它的生命週期,就會釋放該session所佔用的記憶體空間。
session具有以下特點:
session中的資料儲存在伺服器端
session中可以儲存任意型別的資料
session預設的生命週期是20分鐘,可以手動設定更長或更短的時間。
5、Cookie物件
Cookie物件和session物件一樣也是用來儲存特定的使用者相關的資料,不過session不同的是cookie儲存在客戶端而不是伺服器上,每次客戶端發出請求的時候都會把cookie一起傳送到伺服器,伺服器每次響應客戶端請求的時候會重新把cookie傳送到客戶端儲存。
Cookie儲存資料有以下特點:
- 資料儲存在客戶端
- cookie中只能儲存字串型別的資料,如果需要在cookie中儲存其他型別資料,需要將其轉換成字串型別後儲存。
- cookie也有其預設的生命週期,也可以手動設定,最大可設定成50年之後過期。
同session的情況一樣,有可能在一個網站中使用到的cookie不止一個,通過cookie的名稱來區分不同的cookie。
設定 Cookie 的過程就是在伺服器的響應物件 Response 的 Cookie 集合中增加一個 Cookie的例項,Response物件會把這個Cookie集合中的所有Cookie都發送客戶端。代 碼如下(仍以儲存使用者名稱為例): HttpCookie cookie = new HttpCookie("UserName", "zhoufoxcn"); Response.Cookies.Add(cookie);
6、Application物件
application和session儲存的資料型別和儲存位置一樣,都是存放object型別的資料(即任意型別),並且存放在伺服器上,不同的application中的資料可以由網站中所有的使用者來設定或者獲取。並且application中存放的資料沒有時間限制,除非手動刪除或者伺服器重新啟動,否則存放的資料都會丟失。
session,cookie和application的區別:
7、<%%>表示式
<%%>用來編寫程式的程式碼部分。在其中可以宣告變數和方法。在<%%>中編寫的程式碼就是符合C#要求的程式碼。
<% string name = Request.Form["userName"].Trim(); string userName; if (Request.Cookies["UserName"] != null) { userName = Request.Cookies["UserName"].Value; }
%>
8、<%=%>表示式
<%=%>是用來向輸出流中輸出變數的值。
用法如下:
<% int i = 6; %>
<%=i %>