掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

ASP.NET開(kāi)發相(xiàng)關技術(shù)簡介

2019/4/5 9:28:35

ASP.NET開(kāi)發相(xiàng)關技術(shù)簡介

大(dà)約有(yǒu)将近一百萬名開(kāi)發人(rén)員使用(yòng)了.NET Framework的(de)第一個(gè)版本來開(kāi)發網站。所以在2003年的(de)夏天,當從Microsoft傳出将有(yǒu)新版本發布的(de)傳聞時,許多人(rén)的(de)耳朵都(dōu)豎了起來,這個(gè)新的(de)版本将使得創建ASP.NET頁面所需的(de)代碼行(xíng)數減少(shǎo)70%。像這樣大(dà)規模的(de)提高(gāo)生産效率在程序設計(jì)中是不多見的(de)。當ASP.NET 2.0的(de)代碼樣例在2003年秋的(de)Microsoft專業(yè)開(kāi)發人(rén)員大(dà)會(huì)(Microsoft Professional Developer’s Conference)上(shàng)演示時,結果比預計(jì)的(de)還要好。以前使用(yòng)ASP.NET的(de)第一個(gè)版本程序員需要花費幾個(gè)小(xiǎo)時才能(néng)做出的(de)頁面,現在使用(yòng)ASP.NET 2.0隻需要幾分(fēn)鍾就完成了。簡單來說,在.NET Framework 2.0最終版本發布之後,任何繼續使用(yòng)第一個(gè)版本創建ASP.NET頁面的(de)程序人(rén)員都(dōu)将花費大(dà)量的(de)額外時間才能(néng)達到(dào)相(xiàng)同的(de)結果。

也(yě)許就像其他(tā)任何領域一樣,ASP.NET開(kāi)發提供的(de)優勢是能(néng)夠方便地(dì)将數據集成進頁面。程序員不再需要知道詳細的(de)連接、命令以及數據閱讀(dú)器(qì)和(hé)數據适配器(qì)對象,就能(néng)執行(xíng)普通數據任務了。對于初學者掌握能(néng)力,ASP.NET 2.0使得基本數據的(de)使用(yòng)簡單易學,并且有(yǒu)能(néng)力進行(xíng)更複雜的(de)數據應用(yòng)。

.NET Framework

Microsoft開(kāi)發出了作爲基本原理(lǐ)的(de).NET和(hé)一系列技術(shù),用(yòng)于在互聯網中讓計(jì)算機共同工(gōng)作。總的(de)目标就是讓信息和(hé)進程在大(dà)範圍的(de)系統和(hé)設備之間順暢地(dì)交流。.NET不是一種語言,也(yě)不是一個(gè)特别的(de)産品。更确切地(dì)說,它是一套标準和(hé)規範,并已經應用(yòng)于自2002年以來Microsoft發布的(de)所有(yǒu)産品中。

.NET包含了一種使用(yòng)開(kāi)放(fàng)标準的(de)XML格式交換信息的(de)标準化格式。可(kě)擴展标記語言(Extensible Markup Language,XML)不需要請求者具備任何有(yǒu)關數據存儲如(rú)何保存信息的(de)專門知識—— 數據都(dōu)以自描述的(de)XML格式取出。同樣地(dì),目前幾乎所有(yǒu)的(de)數據存儲都(dōu)可(kě)以用(yòng)XML來提供信息,這對于所有(yǒu).NET數據客戶都(dōu)具有(yǒu)吸引力。

.NET支持軟件(jiàn)的(de)Web Services标準,可(kě)請求在使用(yòng)了開(kāi)放(fàng)平台标準的(de)簡單對象訪問協議(Simple Object Access Protocol,SOAP)和(hé)XML的(de)遠程軟件(jiàn)上(shàng)運行(xíng)代碼。.NET網站可(kě)以從另外一個(gè)網站上(shàng)找到(dào)該網站所提供的(de)服務,并使用(yòng)這些服務。這樣可(kě)以使得網站從其他(tā)的(de)網站上(shàng)獲得HTML、計(jì)算後的(de)結果或者數據集。

作爲.NET開(kāi)端的(de)一部分(fēn),Microsoft發布了一套運行(xíng)時編程工(gōng)具和(hé)應用(yòng)編程接口(API),稱爲.NET Framework,讓開(kāi)發團隊能(néng)夠創建.NET應用(yòng)程序和(hé)XML Web Services。.NET Framework由公共語言運行(xíng)庫(Common Language Runtime,CLR)和(hé)一套統一的(de)類庫組成。

CLR爲運行(xíng)的(de)應用(yòng)程序提供了一個(gè)完全管理(lǐ)的(de)執行(xíng)環境,其中包括幾個(gè)服務,例如(rú)程序集裝載和(hé)卸載、進程和(hé)内存的(de)管理(lǐ)、安全實施以及即時編譯等。CLR名稱的(de)意思就是指能(néng)夠用(yòng)多種語言編寫應用(yòng)程序,并且将源代碼編譯成CLR能(néng)夠讀(dú)懂并運行(xíng)的(de)中間語言,而無需考慮原來所使用(yòng)的(de)語言。這種“語言獨立性”就是CLR的(de)關鍵特性(也(yě)是ASP.NET的(de)特性),它允許開(kāi)發人(rén)員使用(yòng)自己喜歡的(de)語言工(gōng)作,比如(rú)C#、VB或者Cobol,都(dōu)能(néng)夠獲得.NET Framework的(de)常用(yòng)特性。

.NET Framework還包括了一套類庫,這套類庫提供了每一個(gè)應用(yòng)程序所需的(de)常用(yòng)功能(néng)。可(kě)以使用(yòng).NET Framework支持的(de)任何語言來訪問這些類庫。由這些類庫提供的(de)服務(以及相(xiàng)應的(de)命名空間)如(rú)下:

· 基本類型(System)

· 輸入/輸出(System.IO)

· 數據訪問(System.Data)

· 安全(System.Security)

· 數據結構(System.Collections)

· 配置(System.Configuration)

· 連網(System.Net)

· 反射(System.Reflection)

· 全球化(System.Globalization)

· 繪畫和(hé)制(zhì)圖(System.Drawing)

· 跟蹤和(hé)診斷(System.Diagnostics)

· 窗口(客戶端)應用(yòng)程序模型(System.Windows.Forms)

· Web應用(yòng)程序模型(System.Web)

注意,.NET Framework包含了兩個(gè)應用(yòng)程序編程模型,一個(gè)用(yòng)于客戶端應用(yòng)程序(System.Windows.Forms),另一個(gè)用(yòng)于基于Web的(de)應用(yòng)程序(System.Web)。本書(shū)著(zhe)重講解後一個(gè)模型。.NET Framework中的(de)System.Web命名空間是.NET Framework的(de)一部分(fēn),它提供了ASP.NET功能(néng)。換句話(huà)說,ASP.NET就是構建應用(yòng)程序的(de)所有(yǒu).NET Framework的(de)一部分(fēn)。

ASP.NET開(kāi)發

ASP.NET是一種用(yòng)于創建基于Web的(de)應用(yòng)程序的(de)編程模型。從本質上(shàng)來說,運行(xíng)時和(hé).NET Framework類庫集可(kě)以用(yòng)于創建動态Web頁。它需要在Web服務器(qì)的(de)環境中運行(xíng),例如(rú)Microsoft Internet Information Server(Microsoft互聯網信息服務器(qì),IIS),并且根據服務浏覽器(qì)請求指示在服務器(qì)上(shàng)執行(xíng)程序。與直接由Web服務器(qì)提供的(de)靜态HTML不同的(de)是,ASP.NET頁面實際上(shàng)是在服務器(qì)上(shàng)執行(xíng)以後再産生結果的(de)。頁面的(de)最後生成也(yě)許是由許多不同的(de)指令和(hé)/或數據源構造的(de)。

ASP.NET頁面以.aspx擴展名存儲。頁面由程序員将文(wén)本、标記(例如(rú)HTML)以及ASP.NET特定服務器(qì)标記和(hé)腳本組合在一起,然後存儲在Web服務器(qì)上(shàng)。可(kě)以将存儲後的(de)ASP.NET頁面看成是一套描述如(rú)何創建一個(gè)HTML頁面的(de)指令。當該頁面被請求浏覽時,服務器(qì)端程序将會(huì)用(yòng)純标記來創建一個(gè)客戶端浏覽器(qì)可(kě)以讀(dú)懂并能(néng)呈現(render)的(de)頁面。因爲呈現後的(de)輸出是純标記,所以任何浏覽器(qì)都(dōu)能(néng)夠讀(dú)懂;所有(yǒu)的(de)動态過程都(dōu)發生在Web服務器(qì)端。ASP.NET特定服務器(qì)标記非常強大(dà),例如(rú),它可(kě)以對用(yòng)戶的(de)動作作出反應,連接至數據存儲以及自動創建非常複雜的(de)HTML結構。

正像前面提到(dào)的(de)那樣,ASP.NET隻是.NET Framework的(de)一部分(fēn),所以 ASP.NET頁面可(kě)以利用(yòng)這個(gè)框架提供的(de)所有(yǒu)服務,包括連網、數據訪問、安全以及更多其他(tā)服務。因爲ASP.NET可(kě)以使用(yòng)所有(yǒu)這些服務,所以相(xiàng)比以前,能(néng)夠創建更加豐富的(de)Web應用(yòng)程序。隻需花少(shǎo)量的(de)時間來構建所有(yǒu)應用(yòng)程序所需的(de)構建塊,而将大(dà)多數時間用(yòng)在應用(yòng)程序獨有(yǒu)的(de)特殊邏輯上(shàng)。

ASP.NET開(kāi)發還可(kě)以在Web編程中引入了一些獨特的(de)新技術(shù),可(kě)以在典型的(de)動态服務器(qì)頁面(Active Server Pages,ASP)上(shàng)極大(dà)地(dì)改善開(kāi)發模式:

· 語言獨立性——因爲ASP.NET是.NET Framework的(de)一部分(fēn),所以可(kě)以使用(yòng)您自己選擇的(de)語言來構建ASP.NET應用(yòng)程序,例如(rú)C#、VB或J#。而典型的(de)ASP則僅限于JScript或者VBScript頁面。

· 編譯而不是解釋——與典型的(de)ASP在每一次頁面請求時都(dōu)解釋編程結構不同,ASP.NET在服務器(qì)端動态地(dì)将頁面編譯成可(kě)以運行(xíng)得非常快的(de)本機編程指令。可(kě)以很明(míng)顯地(dì)看到(dào)典型的(de)ASP頁面的(de)性能(néng)與相(xiàng)同ASP.NET頁面的(de)性能(néng)之間相(xiàng)差的(de)數量級别。

· 事件(jiàn)驅動編程模式——在典型的(de)ASP中,頁面總是以自頂向下的(de)線性方式執行(xíng),并且HTML标記常常與程序指令混合在一起。任何一個(gè)有(yǒu)一定ASP經驗的(de)人(rén)都(dōu)知道這樣會(huì)使得頁面難以閱讀(dú),甚至更加難以維護。ASP.NET引入了事件(jiàn)驅動模型,這個(gè)模型允許您将代碼與标記内容分(fēn)離(lí),将代碼并入處理(lǐ)專門任務的(de)有(yǒu)意義的(de)單元中,例如(rú)響應客戶端的(de)按鈕單擊動作。這個(gè)類似VB的(de)事件(jiàn)模型極大(dà)地(dì)提高(gāo)了頁面的(de)可(kě)讀(dú)性和(hé)可(kě)維護性。

· 服務器(qì)控件(jiàn)——典型的(de)ASP需要動态地(dì)将HTML片斷代碼接合在一起呈現,這樣做的(de)結果就是在應用(yòng)程序中一遍又(yòu)一遍地(dì)編寫相(xiàng)同的(de)代碼(您需要多少(shǎo)次才能(néng)從數據庫查詢中構建一張表格)。ASP.NET帶給Web編程的(de)一個(gè)最大(dà)的(de)好處就是能(néng)夠将公共的(de)呈現和(hé)行(xíng)爲封裝成服務器(qì)控件(jiàn)(server control),可(kě)以在應用(yòng)程序中很方便地(dì)重複使用(yòng)。就像HTML标記一樣,服務器(qì)控件(jiàn)以聲明(míng)的(de)形式創建,但(dàn)是表現爲一個(gè)位于服務器(qì)端的(de)可(kě)編程對象,它可(kě)以與代碼進行(xíng)交互并輸出定制(zhì)的(de)動态HTML呈現。ASP.NET包含了大(dà)約80多個(gè)服務器(qì)控件(jiàn),這些控件(jiàn)封裝了從标準表單元素到(dào)複雜控件(jiàn)(如(rú)網格和(hé)菜單)的(de)所有(yǒu)内容。

· 控件(jiàn)設計(jì)時間的(de)改善(當使用(yòng)Visual Web Developer時)—— 開(kāi)發人(rén)員通過使用(yòng)設計(jì)時間界面可(kě)以減少(shǎo)花費在開(kāi)發複雜頁面上(shàng)的(de)時間,這些界面包括敏捷任務面闆、标簽級導航欄和(hé)可(kě)以設置控件(jiàn)屬性的(de)向導。

 

 


ASP.NET開(kāi)發技術(shù)的(de)第一個(gè)版本(1.0和(hé)1.1)在2001年至2003年間迅速風靡了Microsoft的(de)開(kāi)發陣營。程序人(rén)員很快便感覺到(dào)他(tā)們通過使用(yòng)強大(dà)和(hé)靈活的(de).NET Framework可(kě)以大(dà)大(dà)減少(shǎo)編碼時間,而且CIO們也(yě)看到(dào)當程序員花在解決客戶代碼的(de)疑難問題上(shàng)的(de)時間減少(shǎo)時,他(tā)們就可(kě)以将更多的(de)資源投入到(dào)更高(gāo)級的(de)IT結構的(de)改善上(shàng)。ASP.NET确實是一個(gè)裏程碑式的(de)版本,它簡化了開(kāi)發人(rén)員的(de)工(gōng)作。

但(dàn)是,就在第一個(gè)版本發布之前,Microsoft的(de)ASP.NET小(xiǎo)組就已經在爲開(kāi)發ASP.NET 2.0而工(gōng)作了。他(tā)們以下面雄心勃勃的(de)目标來開(kāi)始他(tā)們的(de)工(gōng)作:

· 使創建一個(gè)典型的(de)Web應用(yòng)程序所需代碼行(xíng)數減少(shǎo)70%。

· 提供一套可(kě)擴展的(de)應用(yòng)程序服務,用(yòng)來爲通用(yòng)應用(yòng)程序任務提供構建塊,例如(rú)成員、角色、個(gè)人(rén)化以及導航等。

· 創建一系列基于任務的(de)服務器(qì)控件(jiàn),這些控件(jiàn)可(kě)以調節上(shàng)述服務,交付完全、可(kě)定制(zhì)的(de)用(yòng)戶接口(UI),以最小(xiǎo)的(de)代碼量來展示這些服務。

· 當與.NET Framework協同工(gōng)作提供頁面服務時,改善IIS的(de)性能(néng)。

· 提供管理(lǐ)功能(néng),以便加強ASP.NET服務器(qì)的(de)部署、管理(lǐ)和(hé)運行(xíng)。

· 改善宿主公司所用(yòng)的(de)工(gōng)具,以便可(kě)以支持多站點并能(néng)夠将開(kāi)發人(rén)員的(de)項目遷移至公共部署環境。

· 讓ASP.NET的(de)幾乎所有(yǒu)特性都(dōu)能(néng)夠方便地(dì)擴展或者用(yòng)定制(zhì)的(de)高(gāo)級任務的(de)執行(xíng)替換。 在這裏,我們有(yǒu)必要再來細細地(dì)回想一下第一個(gè)目标,也(yě)就是使編寫一個(gè)動态Web應用(yòng)程序所需的(de)代碼量減少(shǎo)70%。這有(yǒu)可(kě)能(néng)嗎?Microsoft的(de)ASP.NET小(xiǎo)組已經仔細考慮過各種以定制(zhì)代碼執行(xíng)的(de)通用(yòng)任務,并且專門制(zhì)定了将這些任務封裝進構建塊(特别是服務器(qì)控件(jiàn))的(de)方式


深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04

咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号