asp.net

asp.net

ASP.NET又稱為ASP+,不僅僅是ASP的簡單升級,而是微軟公司推出的新一代腳本語言。ASP.NET基於.NET Framework的Web開發平台,不但吸收了ASP以前版本的最大優點並參照Java、VB語言的開發優勢加入了許多新的特色,同時也修正了以前的ASP版本的運行錯誤。

ASP.NET具備開發網站應用程式的一切解決方案,包括驗證、快取、狀態管理、調試和部署等全部功能。在代碼撰寫方面特色是將頁面邏輯和業務邏輯分開,它分離程式代碼與顯示的內容,讓豐富多彩的網頁更容易撰寫。同時使程式代碼看起來更潔淨、更簡單。

基本介紹

  • 外文名:ASP.NET
  • 技術名稱:ASP.NET
  • 研發公司:微軟(Microsoft)
  • 名稱簡稱:.NET
  • 技術全稱:Active Server Page .NET
發展歷程,編程開發,硬體環境,軟體環境,編程工具,語言特點,工作原理,語言基礎,Response對象,Request對象,使用Cookie,技術套用,學習指南,語言評價,

發展歷程

1996年,ASP 1.0(Active Server Pages)版本出現了,它引起了Web開發的新革命,降低了動態網頁開發的難度。以前開發動態網頁需要編寫大量繁雜的C代碼,編程效率非常低下,而且需要Web網頁開發者掌握非常高的編程技巧。而ASP使用簡單的腳本語言,能夠將代碼直接嵌入HTML,使設計Web頁面變得更簡單。雖然ASP非常簡單,但卻能夠實現非常強大的功能,這一切得益於其組件。特別是ADO組件,使得在網頁中訪問資料庫易如反掌。這一切推動了動態網頁的快速發展與建設,同時使ASP得到迅速流行。
asp.net
1998年,微軟公司發布了ASP 2.0,它是作為Windows NT 4 Option Pack的一部分提供的。ASP 2.0與ASP 1.0的主要區別是外部的組件可以初始化,使所有的組件都有了獨立的記憶體空間,並且可以進行事務處理。內置的Microsoft Transaction Server(MTS)使製作組件變得更容易。
2000年6月,微軟公司宣布了自己的.NET框架。.NET框架的基本思想是:把原有的重點從連線到網際網路的單一網站或設備轉移到計算機、設備和服務群組上,而將網際網路本身作為新一代作業系統的基礎。這樣,用戶將能夠控制信息的傳送方式、時間和內容,從而得到更多的服務。
2001年,ASP.NET浮出水面。它最初的名字為ASP+,後來改為ASP.NET。ASP.NET是微軟公司開發的一種建立在.NET之上的Web運行環境,它不是ASP的簡單升級,而是新一代的Active Server Pages。ASP.NET是微軟公司新體系結構Microsoft.NET的一部分,其中全新的技術架構使編程變得更加簡單。藉助於ASP.NET,可以創造出內容豐富的、動態的、個性化的Web站點。ASP.NET簡單易學、功能強大、套用靈活、擴展性好,可以使用任何.NET兼容語言。
2002年微軟發布.NET正式版本.NET Framework 1.0,其中的ASP版本就是ASP.NET 1.0,在此以前發布了兩個.NET測試版本Betal和Beta2。
2003年微軟發布了.NET Frameworrk 1.1正式版,其中ASP版本就是ASP.NET 1.1。
2005年微軟發布.NET Framework 2.0正式版本,也就是ASP.NET 2.0。

編程開發

硬體環境

.NET平台的的運行對硬體有如下要求:
①計算機/處理器
建議配置:裝有450 MHz Pentium Ⅱ級別處理器的PC。
最低配置:裝有300 MHz Pentium Ⅱ級別處理器的PC,否則編譯過程運行異常緩慢。
②RAM的最小要求。
Windows XP Professional:160 MB RAM。
Windows 2000 Professional:96 MB RAM。
Windows 2000 Server:192 MB RAM。
Windows NT 4.0 Workstation:64 MB RAM。
Windows NT 4.0 Server:160 MB RAM。
③硬碟:標準版在安裝驅動器上需要有2.5GB,包括系統驅動器上的500MB。
Professional和Enterprise版在安裝驅動器上需要有.5GB,包括系統驅動器上的500MB。如果不需要Microsoft Visual Studio.NET中的參考文檔,而且只需要支持C#開發的話,最少需要700M左右的空間。
④驅動器:CD-ROMDVD-ROM驅動器,用以使用光碟,安裝開發平台程式。當然,這不是絕對的,完全可以選擇網路安裝方式。
⑤顯示器:SuperVGA(800×600)或更高解析度的256色顯示器,其實建議使用1024×768以上的解析度,否則開發過程會因為可視範圍過小而不方便開發。
⑥輸入設備:MjcrosoR滑鼠或兼容的指針設備。
當然這裡指出的硬體需要也並非絕對的,,如果有條件,應該選擇配置更高的機器,這對開發是很有幫助的。

軟體環境

①作業系統:MicrosoR Windows NT 4.O或更高版本的作業系統,包括Microsoft windows2000系列,Microsoft windows 2003系列,不支持Microsoft Windows 95,Microsoft windows 98,Microsoft windows Me等作業系統。
注意:對於Microsoft Windows NT 4.0需要升級到SP6以上的版本。對於Windows 2000以上的作業系統,需要將Windows 2000升級到SP3以後的版本。
②Framework:Framework是.NET的支撐基礎。它包含.NET平台的運行庫與公用語言運行時,所有的.NET平台下的程式都需要基於它的類庫來建立程式,而所有的程式也需要先編譯為中間語言(IL)然後由公用語言運行時管理執行。可以說沒有Framework就沒有.NET平台。
針對.NET的開發,微軟還為開發人員準備了很多開發工具,它們被集中到Framework SDK中,要進行.NET的開發,這些開發、調試工具是不可少的。因此,要進行,NET開發,最好安裝Framework SDK。
不過需要注意的是,Microsoft Windows 2003系列已經集成Framework(但不包含Framework SDK),除非有新的版本,一般不需要再安裝。另外在Linux下與Framework對應的是Mono。
③MDAC:有了上面講述的這些之後,就已經具有最基本的.NET開發平台,可以進行一些簡單程式的開發。但是,當要使用資料庫、XML等對象時,編寫的程式可能無法執行。
因為.NET還有基本的需要——MDAC(Microsoft Data Access CompHDnents),翻譯為中文是微軟數據訪問組件。這是一整套的微軟的數據訪問組件,幾乎所有的windows平台下的資料庫訪問都是由這些組件來完成的,因此,對於.NET的資料庫開發來說,MDAC是不可缺少的部分。

編程工具

語言特點

多語言支持
多語言支持是ASP.NET的重要新特性之一,主要表現在所支持的程式語言種類多和單個語言功能強兩個方面。首先,ASP.NET為Web套用提供一種類似於Java編譯技術的“二次編譯技術”——中間語言MSIL(Microsoft Intermediate Language)執行架構,先將ASP.NET套用編譯成MSIL,再將MSIL編譯成機器語言執行。這樣,只要能被編譯成MSIL的程式語言都可以用來編寫ASP.NET套用。
.net.net
其次,ASP.NET所支持的程式語言是指這種語言的功能全集(而不是子集),所以,ASP.NET中每種程式語言的功能要比ASP中使用的VB script和Java Script更為強大。
增強的性能
在ASP.NET中,頁面代碼是被編譯執行的,它利用提前綁定、即時編譯、本地最佳化和快取服務來提高性能。當第一次請求一個頁面時,cLR對頁面程式代碼和頁面自身進行編譯,並在高速快取cache中保存編譯結果的副本。當第二次請求該頁面時,就直接使用cache中的結果(無需再次編譯)。這就大大提高了頁面的處理性能。
類和名空間
ASP.NET包含一整套有用的類和名空間(Namespaces)。名空間被用做一種有組織的機制——一種表示可用於其他程式和套用的程式組件的方法。名空間包含類。和類庫一樣,名空間可以使Web應用程式的編寫變得更加容易。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的幾個類,它們被包含System.web.UI.HtmlControl空間中。
伺服器控制項
ASP.NET提供了許多功能強大的伺服器控制項,這大大簡化了web頁面的創建任務。這些伺服器控制項提供從顯示、日曆、表格到用戶輸入驗證等通用功能,它們自動維護其選擇狀態,並允許伺服器端代碼訪問和調用其屬性、方法和事件。因此,伺服器控制項提供了一個清晰的編程模型,使得Web套用的開發變得簡單、容易。
支持web服務
ASP.NET提供了強大的、標準化的web服務支持能力,通過使用Internet標準,可以將一個web服務和其他web服務集成在一起。web服務提供了構建分散式web套用的基本模組。ASP.NET允許使用和創建web服務。
更高的安全性
與ASP相比,在支持常規windows身份驗證方法的基礎上,ASP.NET還提供了Passport和cookie兩種不同類型的登錄和身份驗證方法。同時,ASP.NET還採用了基於角色的安全模式,為不同角色的用戶指定不同的安全授權。另一方面,ASP.NET還使得創建基於頁面的身份驗證工作變得更為簡單。
良好的可伸縮性
在ASP.NET中,允許使用跨伺服器會話(Cross - Server Sessions),其會話狀態可以被另一台機器或另一個資料庫上的其他的進程所維護。隨著信息處理和傳輸流量的增加,可以為系統添加更多的Web伺服器。
無Cookie會話
即使在瀏覽器不允許使用cookie的情況下,ASP.NET仍然能夠使用戶使用會話狀態。與帶cookie的會話不同,無cookie會話是通過URL將會話標識(SessionID)傳遞到ASP.NET頁面的。

工作原理

從使用的角度看,ASP.NET的運行過程包含頁面請求、分析、編譯、組裝、頁面緩衝五大環節。當客戶端通過瀏覽器請求(Request)頁面時,伺服器端首先由頁面分析器(Parser)對被請求的頁面進行分析;再將通過分析的頁面內容傳遞給編譯器(Compiler);經過編譯器編譯的頁面內容被傳輸給組裝快取(Assembly Cache),同時,一些需要較高資源代價的元素可以創建一次後存人記憶體(Memory);將組裝快取和記憶體中的內容有機結合後形成一個完整頁面(包括數據、編譯代碼、HTML代碼等),完整頁面最後被送往輸出快取(Output Cache)。輸出快取中的內容將作為客戶端的頁面請求結果被送回瀏覽器。當同一頁面被第二次請求時,伺服器端將跳過所有中間環節,直接從輸出快取中送出頁面請求結果。

語言基礎

Response對象

Response對象是屬於Page對象的成員。不用聲明便可以直接使用。它的主要功能是將HTTP的信息封裝後,從ASP.NET的伺服器端回響到用戶瀏覽的網頁上,以供用戶瀏覽,其類名稱為HttpResponse。Response將用於回應客戶瀏覽器,告訴瀏覽器回應內容的報頭、伺服器端的狀態信息以及輸出指定的內容。
它的主要屬性如下
BufferOutput:設定HTTP輸出是否要做緩衝處理,預設為True。
Cache:傳回目前網頁快取的設定。
Charset :設定或取得HTTP的輸出字元編碼。
Cookies:傳回目前請求的Httpcookieco}lection對象的集合。該對象將在本章第二節使用cookie小節中進行詳細介紹。
IsCIientconnected:傳回客戶端是否仍然和伺服器連線。
Statuscode:傳回或設定輸出至客戶端瀏覽器的HTTP狀態碼,預設是200。
StatusDescription:傳回或設定輸出至客戶端瀏覽器的HTTP狀態說明字元串.預設是OK。
SuppressContent:設定是否將HTTP的內容送至客戶端瀏覽器,若為True則網頁將不會傳至客戶端。
它常用的方法如下
AppendToLog:將自定義的記錄信息加到IIs的記錄檔案中。
AppendHeader:將自定義的標頭信息加入到所輸出的網頁。
BinaryWrite:將一個二進制的字元串寫入HTTP輸出串流。
Clear:將緩衝區中的內容清除。
CIearHeaders:將緩衝區中所有的頁面標頭清除。
CIose:關閉客戶端的在線上。
End:將緩衝區中所有的內容送到客戶端然後關閉在線上。
Flush:將緩衝區中所有的數據送到客戶端。
Redirect:將網頁重新導向另一個地址。
Write:將數據輸出至客戶端。
WriteFile:將一個檔案直接輸出至客戶端。

Request對象

Request對象也是Page對象的成員之一,在程式中不需聲明便可以直接使用。它主要是讓伺服器取得客戶端瀏覽器的一些數據。Request對象實際上操作system.web名字空間中的HttpRequest類。當用戶發出請求執行ASP.NET程式時,CLR會將客戶端的請求信息包裝在Request對象中。這些請求信息包括請求報頭、客戶端的請求信息、請求方法、參數名、參數值等。
它的主要屬性如下:
AppIicationPath:傳回目前正在執行的伺服器端的虛擬目錄。
Browser:傳回有關客戶端瀏覽器的功能信息。
Clientcertificate:傳回目前客戶端所發出的網頁瀏覽請求的在線上ID。
ContentEncoding:傳回客戶端所支持的欄位設定。中文Intemet ExpIorer預設ChineseTraditional(Big5)。
ContentType:傳回目前需求的MIME內容類型。
Cookies:傳回一個HttpcOOkiecoIIection對象的集合。
FiIes:傳回客戶端上傳的檔案集合。
Form:傳回有關窗體變數的集合。
HttpMethod:傳回目前客戶端HTTP數據傳輸的方式是Get或Post。
IsAuthenticated:傳回目前HTTP在線上是否有效。

使用Cookie

Cookie對象是在瀏覽者訪問某些網站時,Web伺服器在客戶端所寫入的一些小檔案。這些小檔案存放在客戶端的記憶體或磁碟中。
Cookie對象可以記錄瀏覽者的個人信息、瀏覽器類型、訪問該網站的時間、從事過哪些活動等等。在瀏覽者下次訪問該網站時.通過查詢Cookie對象中記錄的信息.就可以辨認瀏覽者了。這樣,就可以實現狀態的管理了。
Response對象和Request對象都包含了一個Cookies屬性,該屬性繼承了HttpCookieColIection。

技術套用

高校教育網站管理具體包括人力資源管理、技術管理和組織管理,而Asp.net技術在管理革新方面更多地反映在技術管理層面。技術管理中的技術可以被定義為高校教育網站開放、生產、傳遞和服務的一整套理論知識、水平能力、實踐訣竅和策略。高校教育網站技術管理過程具體表現在正確地識別哪些技術對網站建設有用並有效,積極地選擇相關適用的網站技術,並獲取和吸收所選擇的網站技術,同時不斷開發新技術來獲取網站收益和保護網站自有知識和產權,並最後進行相關的技術管理評估以利不斷革新。Asp.net技術的出現要求高校教育網站建立符合我國國情的技術管理規範體系,實現技術管理的標準化。

學習指南

《ASRNET2.0入門經典(第4版)》:這本書是“Wrox紅皮書”系列之一,旨在幫助初學者了解ASP.NET2.0技術。作者在詳細介紹ASP.NET技術的基礎之上,自然融合了ASP.NET2.0的新特性,使得讀者在學習基礎的同時也能夠了解新特性。
《聖殿祭司的ASP.NET2.0開發詳解》:這本書主要針對具有一定ASP.NET1.x開發經驗和資料庫基礎知識,希望獲得技術升級的讀者群。全書內容緊緊圍繞AS.PNET.20的新特性展開講解,結合大量實例娓娓道來,能夠幫助讀者快速掌握這種新技術。
《ASP.NET 2.0高級編程(第4版)》:這本一千多頁的書介紹了關於ASP.NET 2.0的所有主題,並配有準確易懂的例子。該書翻譯質量不錯,語言通俗易懂,沒有太多晦澀的詞語。
書中包含了大量的截圖和代碼示例,專門針對每一章節所講授的知識設計,簡單易懂。相對來說,直接看截圖和代碼要比看枯燥的文字有趣得多。並且示例代碼同時使用V.BNET和C#代碼編寫,充分照顧到了VB.NET程式設計師和C#程式設計師。本書的每一節內容,一步一步地講解該節所要闡述的知識要點,結合代碼示例、理論和實際環環相扣。

語言評價

ASP.NET是微軟提出的用於創建動態Web內容的一種強大的伺服器端技術。ASP技術僅僅是微軟在IIS的框架結構上進行的一個擴展,而ASE.NET與ASP相比可以說是一個質的飛躍。
ASP.NET與其底層框架.NET緊密結合,為動態的Web開發技術提供了豐富而強大的類庫資源。.NET是微軟推出的一個跨作業系統、跨平台的套用體系框架,.NET通過一組標準化的類庫抽象了作業系統提供的進程、檔案、網路等功能,並附加了豐富的文本處理、加密解密、調試跟蹤等功能。由於.NET提供了跨平台的機制,因此隨著.NET架構移植到其他作業系統中,在.NET框架上開發的所有應用程式,包括套用ASP.NET技術的Web應用程式,也將一併移植過去而不需要做任何改動。
這對於一貫把程式設計師封閉在Windows平台上的微軟來說,不亞於一場巨大的變革,而程式設計師也會從微軟的這次轉變中得到很多益處。另外.NET平台提供了先進的裝配件結構和類型系統,並且完全集成了Web Service服務,由於從ASP.NET的頁面生成的臨時對象也屬於.NET的類型系統,因此ASP.NET在性能、安全性、可擴展性方面可以借用.NET平台提供的良好框架。

相關詞條

熱門詞條

聯絡我們