1.2.2 追溯ASP.NET發(fā)展史
2000年全新平臺(tái)的ASP.NET 1.0正式發(fā)布,發(fā)展速度異常驚人,2003年升級(jí)為1.1版本。ASP.NET 1.1發(fā)布之后,更加激發(fā)了Web應(yīng)用程序開(kāi)發(fā)人員對(duì)ASP.NET的興趣,并且對(duì)網(wǎng)絡(luò)技術(shù)的發(fā)展起到了巨大的推動(dòng)作用。為了達(dá)到“減少70%代碼”的目標(biāo),2005年11月微軟公司又發(fā)布了ASP.NET 2.0。ASP.NET 2.0的發(fā)布是.NET技術(shù)走向成熟的標(biāo)志。
伴隨著強(qiáng)勁的發(fā)展勢(shì)頭,2008年微軟推出了ASP.NET 3.5,使網(wǎng)絡(luò)程序開(kāi)發(fā)更傾向于智能開(kāi)發(fā)。ASP.NET 3.5是建立在ASP.NET 2.0 CLR(公共語(yǔ)言運(yùn)行庫(kù))基礎(chǔ)上的一個(gè)框架,其底層類(lèi)庫(kù)依然調(diào)用的是.NET 2.0以前封裝好的所有類(lèi),但在.NET 2.0的基礎(chǔ)上增加了眾多的新特性,如LINQ數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)等。
ASP.NET前進(jìn)的步伐從未停止,2010年又發(fā)布了ASP.NET 4.0。
? 你問(wèn)我答:.NET發(fā)展這么快,能跟得上嗎?
U 也許有人會(huì)有這樣的無(wú)奈:.NET 2.0、3.5才剛弄明白,.NET 4.0又來(lái)了,今日當(dāng)紅技術(shù)會(huì)不會(huì)成為明日黃花?可以肯定地回答,對(duì)于.NET無(wú)須憂(yōu)慮!.NET 1.0發(fā)表之后,其框架便已經(jīng)固定。仔細(xì)看一下.NET的架構(gòu),就會(huì)發(fā)現(xiàn)每一次的改版都只是在舊的框架上堆疊補(bǔ)充了一些新的東西。開(kāi)發(fā)人員面對(duì)新版本(無(wú)論是目前的3.5還是已經(jīng)發(fā)布的4.0),使用的依然是熟悉的技術(shù),對(duì)于新的功能有針對(duì)性地學(xué)習(xí)一下即可。對(duì)于.NET 2.0、3.0和.NET 3.5增加的功能,可以用一些簡(jiǎn)單的數(shù)學(xué)公式來(lái)說(shuō)明。
? .NET 2.0=CLR+BCL+C#(VB.NET)+Win Form+Web Form
? .NET 3.0=CLR+WCF+WPF+WF+WCS
? .NET 3.5=.NET 3.0+ASP.NET AJAX+Sliverlight+LINQ
&說(shuō)明:從上面可以看出,.NET 2.0到.NET 3.0,.NET 3.0到.NET 3.5都是一種補(bǔ)充,而非革命,所以千萬(wàn)不要以為.NET 2.0馬上過(guò)時(shí)了,重新學(xué).NET 3.5,前面的積累仍然是有價(jià)值的,并且是必要的。
1.2.3 ASP.NET新特性
ASP.NET網(wǎng)站開(kāi)發(fā)技術(shù)具有許多優(yōu)點(diǎn)和新的特性,主要特性介紹如下。
(1)高效的運(yùn)行性能
ASP.NET應(yīng)用程序采用頁(yè)面脫離代碼技術(shù),即前臺(tái)頁(yè)面代碼保存到ASPX文件,后臺(tái)代碼保存到CS文件中,而編譯程序?qū)⒋a編譯為DLL文件。當(dāng)ASP.NET在服務(wù)器上運(yùn)行時(shí),可以直接運(yùn)行編譯好的DLL文件,并且它采用緩存機(jī)制,從而提高了運(yùn)行性能。
(2)簡(jiǎn)易性、靈活性
很多ASP.NET功能都可以擴(kuò)展,這樣可以輕松地將自定義功能集成到應(yīng)用程序中。例如,ASP.NET程序模型為不同數(shù)據(jù)源提供插入支持。
(3)可管理性
ASP.NET中包含的新增功能使得管理宿主環(huán)境變得更加簡(jiǎn)單,從而為宿主主體創(chuàng)建了更多增值的機(jī)會(huì)。
(4)生產(chǎn)效率
使用新增的ASP.NET服務(wù)器控件和包含新增功能的現(xiàn)有控件,可以輕松、快捷地創(chuàng)建ASP.NET網(wǎng)頁(yè)和應(yīng)用程序。新增內(nèi)容(如成員資格、個(gè)性化和主題)可以提供系統(tǒng)級(jí)的功能,此類(lèi)功能一般會(huì)要求開(kāi)發(fā)人員進(jìn)行大量的代碼編寫(xiě)工作。新增數(shù)據(jù)控件、無(wú)代碼綁定和智能數(shù)據(jù)顯示控件已經(jīng)解決了核心開(kāi)發(fā)方案(尤指數(shù)據(jù))問(wèn)題。
1.2.4 ASP.NET網(wǎng)站運(yùn)行原理
ASP.NET網(wǎng)站應(yīng)用程序是由許多ASP.NET網(wǎng)頁(yè)組成的。默認(rèn)情況下,ASP.NET網(wǎng)頁(yè)的擴(kuò)展名是.aspx。當(dāng)用戶(hù)在瀏覽器中輸入ASP.NET網(wǎng)頁(yè)的網(wǎng)址后,瀏覽器就會(huì)向該網(wǎng)頁(yè)所在的網(wǎng)址發(fā)送一個(gè)查看網(wǎng)頁(yè)的請(qǐng)求(Request),網(wǎng)站服務(wù)器收到后會(huì)將此請(qǐng)求轉(zhuǎn)送到網(wǎng)頁(yè)所屬的ASP.NET網(wǎng)站應(yīng)用程序,接著執(zhí)行網(wǎng)頁(yè),將執(zhí)行結(jié)果傳回用戶(hù)的瀏覽器中,如圖1.5所示。
如果是正式網(wǎng)站,則應(yīng)該以IIS(Internet Information Server,即Internet信息服務(wù)管理器)作為網(wǎng)站服務(wù)器,這樣才能提供完整的網(wǎng)站功能,其架構(gòu)如圖1.6所示。