明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

細(xì)細(xì)品味ASP.NET(一)

[摘要]概 述   ASP現(xiàn)在被從頭到腳地重建了,結(jié)果就是 ASP.NET 。它并不只是ASP 4.0,它是一個(gè)用于 Web開發(fā)的全新框架,其中包含了許多新的特性。 ASP.NET 提供了更易于編寫、結(jié)構(gòu)更清晰的代碼,這些代碼很容易進(jìn)行再利用和共享; ASP.NET 使用編譯后的語(yǔ)言,從而提升性能和伸縮性...
概 述
 
ASP現(xiàn)在被從頭到腳地重建了,結(jié)果就是 ASP.NET 。它并不只是ASP 4.0,它是一個(gè)用于 Web開發(fā)的全新框架,其中包含了許多新的特性。 ASP.NET 提供了更易于編寫、結(jié)構(gòu)更清晰的代碼,這些代碼很容易進(jìn)行再利用和共享; ASP.NET 使用編譯后的語(yǔ)言,從而提升性能和伸縮性; ASP.NET 使用Web表單使開發(fā)更直觀,利用面向?qū)ο蠹夹g(shù)促進(jìn)組件的再利用。另外, ASP.NET 中還包括有頁(yè)面事件、Web 控件 、緩沖技術(shù)以及 服務(wù)器 控件 和對(duì)數(shù)據(jù)捆綁的改進(jìn)。供 ASP.NET 使用的庫(kù)以及在Microsoft.NET框架中允許通過(guò)Web 使用客戶商用函數(shù),為程序員提供了更多新的開發(fā)機(jī)會(huì)。
 
ASP.NET 的優(yōu)勢(shì)
 
ASP.NET 使代碼更加干凈。現(xiàn)有的ASP 應(yīng)用程序中,不管你將它們寫得怎么樣,結(jié)構(gòu)總是充滿了長(zhǎng)長(zhǎng)短短的代碼。而 ASP.NET 的代碼不僅更容易編寫,而且更加干凈整潔,比ASP代碼更易于閱讀。同時(shí), ASP.NET 代碼的結(jié)構(gòu)方式提高了其再利用性和共享性。
ASP.NET 改進(jìn)了配置、伸縮性、安全性和可靠性。對(duì)于簡(jiǎn)單的ASP應(yīng)用程序,配置其實(shí)并不算什么問(wèn)題,但是當(dāng)你移植到一個(gè)利用組件的N層結(jié)構(gòu)中時(shí)就會(huì)遇到問(wèn)題。當(dāng)你對(duì)這些應(yīng)用程序進(jìn)行配置和維護(hù)時(shí),DLL 陷阱問(wèn)題(組件注冊(cè)、版本、鎖定的DLL等等)就會(huì)出現(xiàn)。 ASP.NET 中則取消了組件注冊(cè)以及DLL鎖定,全面使用了 XML 配置文件,從而解決了這個(gè)問(wèn)題。這樣你只需要執(zhí)行復(fù)制文件的工作就能配置一個(gè)Web應(yīng)用程序。
ASP.NET 對(duì)各種不同的瀏覽器提供了更好的支持。對(duì)于ASP開發(fā)人員來(lái)說(shuō),瀏覽器兼容問(wèn)題好象是一個(gè)永恒的問(wèn)題。你或者為低一級(jí)的瀏覽器編寫代碼,例如用HTML 3.2,或者限制頁(yè)面的瀏覽范圍。無(wú)線應(yīng)用程序協(xié)議WAP設(shè)備的引入還會(huì)深化這個(gè)問(wèn)題。本文中Web表單這部分描述了 ASP.NET 是如何解決瀏覽器兼容性問(wèn)題的。
ASP.NET 造就了一類新的Web應(yīng)用程序。目前的Web應(yīng)用程序通常都是同一種模式:一套線性應(yīng)用程序,然后將邏輯植入其中之一。 ASP.NET 允許開發(fā)人員打破這種單一模式,創(chuàng)造出更加動(dòng)態(tài)而且伸縮性更強(qiáng)的應(yīng)用程序,這種應(yīng)用程序能夠更好地滿足公司的商業(yè)需求,并提供一個(gè)更加豐富的開發(fā)環(huán)境。
到這里你可能會(huì)想,雖然這些目標(biāo)都很高尚,但是它們會(huì)使編寫應(yīng)用程序變得困難。然后恰恰相反,用 ASP.NET 進(jìn)行開發(fā)要簡(jiǎn)單得多!
下面我們就來(lái)細(xì)細(xì)品味一下 ASP.NET 的強(qiáng)大特征,包括:
 ●對(duì)編譯語(yǔ)言的支持
 ●Web表單
 ●跟隨頁(yè)面對(duì)象的頁(yè)面事件
 ●Web 控件
 ●Web Services
 ●緩沖技術(shù)
 ●調(diào)試和跟蹤
 ●代碼和內(nèi)容隔離
 ●名稱空間的通用庫(kù)
 ●配置
 
使用經(jīng)過(guò)編譯的語(yǔ)言
 
現(xiàn)有的ASP版本是基于腳本語(yǔ)言的,如VBScript和JScript 。腳本語(yǔ)言本身并沒有什么錯(cuò),但是它們有兩大缺陷:它們是解釋型的,并且分類不嚴(yán)格。 ASP.NET 并沒有完全拋棄腳本語(yǔ)言的概念,它引入了對(duì)全編譯語(yǔ)言的支持,使你能夠用Visual Basic編寫自己的 服務(wù)器 端代碼,例如:
<script language=“vb” runat=“server”>
Visual Basic的一大優(yōu)勢(shì)是其對(duì)嚴(yán)格分類變量的支持,因此以下的代碼在 ASP.NET 中是成立的:
Dim FirstName As String
除了Visual Basic和C++,你還可以使用最新的Microsoft語(yǔ)言 C#來(lái)編寫 服務(wù)器 端代碼。C# 將C++ 中不實(shí)用的部分都去掉了,它更容易理解。用 ASP.NET ,編譯動(dòng)作在頁(yè)面第一次裝載時(shí)發(fā)生。即便代碼是腳本語(yǔ)言,它也會(huì)在執(zhí)行前被編譯,因此 Jscript代碼頁(yè)面的性能也會(huì)得到提高。實(shí)際上,這是 .NET 框架的一個(gè)基本的新特征。以前版本的語(yǔ)言編譯器對(duì)數(shù)據(jù)類型和對(duì)象是區(qū)別對(duì)待的,這就意味著唯一可以進(jìn)行跨語(yǔ)言開發(fā)的就是創(chuàng)建COM對(duì)象。Microsoft .NET框架中的通用語(yǔ)言運(yùn)行時(shí)間環(huán)境CLR允許對(duì)已經(jīng)用通用運(yùn)行時(shí)間支持編譯過(guò)的任何代碼進(jìn)行緊密的交互作用,這就是新的Visual Basic和C# 編譯器將要做的:創(chuàng)建能在運(yùn)行時(shí)間中被管理的代碼。
這樣做最大的優(yōu)點(diǎn)是使得真正的跨語(yǔ)言開發(fā)成為可能。有了通用運(yùn)行時(shí)間環(huán)境CLR,你可以用C#創(chuàng)建對(duì)象,并在 Visual Basic中通過(guò)繼承功能對(duì)它們進(jìn)行擴(kuò)展。現(xiàn)在的 Visual Basic .NET支持繼承功能,這樣你就可以在C# 中編寫組件,然后在Visual Basic中將它們?cè)O(shè)置成子集。雖然 Visual Basic、C#和腳本語(yǔ)言是在開始的框架結(jié)構(gòu)中被支持的語(yǔ)言,但是稍后其它語(yǔ)言,如Smalltalk、Eiffel、Pascal等等,也將會(huì)被支持。Microsoft .NET框架的一個(gè)優(yōu)勢(shì)就是擴(kuò)展非常得容易,因此使用一種新的語(yǔ)言僅僅需要為運(yùn)行時(shí)間環(huán)境兼容的輸出提供編譯器支持。