動(dòng)易SiteFactory新特性體驗(yàn)之旅——基于ASP.NET2.0開(kāi)發(fā)
動(dòng)易CMS 2007新特性體驗(yàn)之一:使用ASP.NET 2.0作為開(kāi)發(fā)及運(yùn)行環(huán)境
動(dòng)易CMS 2007沒(méi)有使用ASP.NET 1.1而直接使用ASP.NET 2.0做為開(kāi)發(fā)及運(yùn)行環(huán)境,是因?yàn)?.0較之1.1無(wú)論在穩(wěn)定性、安全性、性能以及功能上都有很明顯的改進(jìn),并且目前大部分的空間商已經(jīng)支持.Net 2.0。動(dòng)易CMS 2007基于ASP.NET2.0開(kāi)發(fā),繼承了ASP.NET 2.0的各種優(yōu)點(diǎn)和特性,為網(wǎng)站的發(fā)展奠定了前沿的技術(shù)基礎(chǔ)。
那么,究竟什么是ASP.NET呢?ASP.NET又有些什么樣的優(yōu)點(diǎn)和特性值得我們從已經(jīng)非常成熟的ASP平臺(tái)轉(zhuǎn)入到ASP.NET平臺(tái)呢?
下面就讓我一一為大家講述。這些內(nèi)容都是從網(wǎng)上找的,我只是整理了一下。已經(jīng)了解的就不用看了。呵呵。不過(guò)如果你認(rèn)真把這篇長(zhǎng)長(zhǎng)的文章看完,肯定會(huì)對(duì)ASP.NET有了一個(gè)較清晰的認(rèn)識(shí)了。
一、什么是ASP.NET?
提到ASP.NET,就不得不首先搞清楚什么是ASP。ASP的全稱(chēng)是Active Server Pages,即活動(dòng)服務(wù)器頁(yè)面,為什么稱(chēng)之為活動(dòng)服務(wù)器頁(yè)面,這是因?yàn)橐郧暗幕ヂ?lián)網(wǎng)全部是由靜態(tài)的HTML頁(yè)面組成,如果需要更新你的網(wǎng)站內(nèi)容,你不得不制作大量的HTML頁(yè)面。有了ASP以后,我們就能夠根據(jù)不同的用戶(hù),在不同的時(shí)間向用戶(hù)顯示不同的內(nèi)容。網(wǎng)站的內(nèi)容更新也不再是一個(gè)乏味的重復(fù)過(guò)程,它開(kāi)始變得簡(jiǎn)單而有趣。也因此在國(guó)內(nèi)掀起了一股學(xué)習(xí)ASP的熱潮。
但是由于ASP程序和網(wǎng)頁(yè)的HTML混合在一起,這就使得程序看上去相當(dāng)?shù)碾s亂。在現(xiàn)在的網(wǎng)站設(shè)計(jì)過(guò)程中,通常是由程序開(kāi)發(fā)人員做后臺(tái)的程序開(kāi)發(fā),前面有專(zhuān)業(yè)的美工設(shè)計(jì)頁(yè)面,這樣,在相互配合的過(guò)程中就會(huì)產(chǎn)生各種各樣的問(wèn)題。同時(shí),ASP頁(yè)面是有腳本語(yǔ)言解釋執(zhí)行的,使得其速度受到影響。受到腳本語(yǔ)言自身?xiàng)l件的限制,我們?cè)诰帉?xiě)ASP程序的時(shí)候不得不調(diào)用COM組件來(lái)完成一些功能。由于以上種種限制,微軟推出了ASP.NET。
ASP.NET不僅僅只是ASP 3的一個(gè)簡(jiǎn)單升級(jí),它更為我們提供了一個(gè)全新而強(qiáng)大的服務(wù)器控件結(jié)構(gòu)。從外觀上看,ASP.NET和ASP是相近的,但是從本質(zhì)上是完全不同的。ASP.NET幾乎全是基于組件和模塊化,每一個(gè)頁(yè),對(duì)象,和HTML元素都是一個(gè)運(yùn)行的組件對(duì)象。在開(kāi)發(fā)語(yǔ)言上,ASP.NET拋棄了VBSCRIPT和JSCRIPT,而使用.NET Framework所支持的VB.NET,C#.NET等語(yǔ)言做為其開(kāi)發(fā)語(yǔ)言,這些語(yǔ)言生成的網(wǎng)頁(yè)在后臺(tái)被轉(zhuǎn)換成了類(lèi)并編譯成了一個(gè)DLL。由于ASP.NET是編譯執(zhí)行的,所以它比ASP擁有了更高的效率。
ASP.NET 是一個(gè)統(tǒng)一的 Web 開(kāi)發(fā)平臺(tái),它提供開(kāi)發(fā)人員創(chuàng)建企業(yè)級(jí) Web 應(yīng)用程序所需的服務(wù)。盡管 ASP.NET 的語(yǔ)法基本上與 ASP 兼容,但是它還提供了一個(gè)新的編程模型和基礎(chǔ)結(jié)構(gòu)以提高應(yīng)用程序的安全性、縮放性和穩(wěn)定性。通過(guò)逐漸向現(xiàn)有的 ASP 應(yīng)用程序增加 ASP.NET 功能,我們可以自由地使其增大。ASP.NET 是一個(gè)編譯的、基于 .NET 的環(huán)境;我們可以用任何 .NET 兼容的語(yǔ)言(包括 Microsoft Visual Basic.NET,Microsoft Visual C# 和 Microsoft JScript .NET)創(chuàng)作應(yīng)用程序。另外,整個(gè) Microsoft .NET Framework 可用于任何 ASP.NET 應(yīng)用程序。開(kāi)發(fā)人員可以很容易地從這些技術(shù)受益,這些技術(shù)包括管理的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類(lèi)型安全、繼承等。
關(guān)于ASP.NET有許多新的特性,主要有以下幾點(diǎn):
1、ASP.NET是預(yù)編譯的而不是解釋的。對(duì)于ASP.NET頁(yè)面即ASPX頁(yè)面是這樣的:第一次執(zhí)行ASPX頁(yè)面時(shí),頁(yè)面將首先被編譯成一種稱(chēng)為IL(Intermediate Language)的偽代碼(pseudo-code),然后在執(zhí)行時(shí)將IL代碼編譯成機(jī)器代碼,并且被載入到.NET運(yùn)行程序的全局程序集緩存GAC中,這樣就為其他的托管應(yīng)用程序的使用做好了準(zhǔn)備,只有在程序的代碼發(fā)生了改變或者WEB服務(wù)器重新啟動(dòng)時(shí),ASPX頁(yè)面才需要重新編譯,這樣ASPX頁(yè)面除了第一次請(qǐng)求ASPX頁(yè)面時(shí)響應(yīng)速度比較慢外,以后請(qǐng)求都比較快。
2、ASP.NET是基于控件驅(qū)動(dòng)的。在ASP.NET中可以使用大多數(shù)的控件都不需要ASPX中嵌入很多的代碼,實(shí)際上只需要簡(jiǎn)單地給控件加入幾個(gè)屬性,便可以輕松地實(shí)現(xiàn)服務(wù)器的功能,這此控件都被封裝好了,開(kāi)發(fā)人員只需要簡(jiǎn)單的代碼就可以使用控件了.
3、ASP.NET是真正的面向?qū)ο蟮恼Z(yǔ)言,這是ASP.NET真正的最明顯的優(yōu)點(diǎn),ASPX頁(yè)面本身就是可重用的對(duì)象,只需要引用WEB應(yīng)用程序的名字空間,其它的.NET應(yīng)用程序就可以重用ASPX的頁(yè)面。
二、ASP.NET的優(yōu)點(diǎn)如下:
1)可管理性: ASP.NET 使用基于文本的、分級(jí)的配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序的工作。因?yàn)榕渲眯畔⑹谴鎯?chǔ)為純文本的,因此可以在沒(méi)有本地管理工具的幫助下應(yīng)用新的設(shè)置。配置文件的任何變化都可以自動(dòng)檢測(cè)到并應(yīng)用于應(yīng)用程序。
2)安全: ASP.NET 為 Web 應(yīng)用程序提供了默認(rèn)的授權(quán)和身份驗(yàn)證方案。開(kāi)發(fā)人員可以根據(jù)應(yīng)用程序的需要很容易地添加、刪除或替換這些方案。
3)易于部署: 通過(guò)簡(jiǎn)單地將必要的文件復(fù)制到服務(wù)器上,ASP.NET 應(yīng)用程序即可以部署到該服務(wù)器上。不需要重新啟動(dòng)服務(wù)器,甚至在部署或替換運(yùn)行的已編譯代碼時(shí)也不需要重新啟動(dòng)。
4)增強(qiáng)的性能: ASP.NET 是運(yùn)行在服務(wù)器上的已編譯代碼。與傳統(tǒng)的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期綁定、實(shí)時(shí) (JIT) 編譯、本機(jī)優(yōu)化和全新的緩存服務(wù)來(lái)提高性能。
5)靈活的輸出緩存: 根據(jù)應(yīng)用程序的需要,ASP.NET 可以緩存頁(yè)數(shù)據(jù)、頁(yè)的一部分或整個(gè)頁(yè)。緩存的項(xiàng)目可以依賴(lài)于緩存中的文件或其他項(xiàng)目,或者可以根據(jù)過(guò)期策略進(jìn)行刷新。
6)國(guó)際化: ASP.NET 在內(nèi)部使用 Unicode 以表示請(qǐng)求和響應(yīng)數(shù)據(jù)。可以為每臺(tái)計(jì)算機(jī)、每個(gè)目錄和每頁(yè)配置國(guó)際化設(shè)置。
7)移動(dòng)設(shè)備支持: ASP.NET 支持任何設(shè)備上的任何瀏覽器。開(kāi)發(fā)人員使用與用于傳統(tǒng)的桌面瀏覽器相同的編程技術(shù)來(lái)處理新的移動(dòng)設(shè)備。
8)擴(kuò)展性和可用性: ASP.NET 被設(shè)計(jì)成可擴(kuò)展的、具有特別專(zhuān)有的功能來(lái)提高群集的、多處理器環(huán)境的性能。此外,Internet 信息服務(wù) (IIS) 和 ASP.NET 運(yùn)行時(shí)密切監(jiān)視和管理進(jìn)程,以便在一個(gè)進(jìn)程出現(xiàn)異常時(shí),可在該位置創(chuàng)建新的進(jìn)程使應(yīng)用程序繼續(xù)處理請(qǐng)求。
9)跟蹤和調(diào)試: ASP.NET 提供了跟蹤服務(wù),該服務(wù)可在應(yīng)用程序級(jí)別和頁(yè)面級(jí)別調(diào)試過(guò)程中啟用??梢赃x擇查看頁(yè)面的信息,或者使用應(yīng)用程序級(jí)別的跟蹤查看工具查看信息。在開(kāi)發(fā)和應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),ASP.NET 支持使用 .NET Framework 調(diào)試工具進(jìn)行本地和遠(yuǎn)程調(diào)試。當(dāng)應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),跟蹤語(yǔ)句能夠留在產(chǎn)品代碼中而不會(huì)影響性能。
10)與 .NET Framework 集成: 因?yàn)?ASP.NET 是 .NET Framework 的一部分,整個(gè)平臺(tái)的功能和靈活性對(duì) Web 應(yīng)用程序都是可用的。也可從 Web 上流暢地訪(fǎng)問(wèn) .NET 類(lèi)庫(kù)以及消息和數(shù)據(jù)訪(fǎng)問(wèn)解決方案。ASP.NET 是獨(dú)立于語(yǔ)言之外的,所以開(kāi)發(fā)人員能選擇最適于應(yīng)用程序的語(yǔ)言。另外,公共語(yǔ)言運(yùn)行庫(kù)的互用性還保存了基于 COM 開(kāi)發(fā)的現(xiàn)有投資。
11)與現(xiàn)有 ASP 應(yīng)用程序的兼容性: ASP 和 ASP.NET 可并行運(yùn)行在 IIS Web 服務(wù)器上而互不沖突;不會(huì)發(fā)生因安裝 ASP.NET 而導(dǎo)致現(xiàn)有 ASP 應(yīng)用程序崩潰的可能。ASP.NET 僅處理具有 .aspx 文件擴(kuò)展名的文件。具有 .asp 文件擴(kuò)展名的文件繼續(xù)由 ASP 引擎來(lái)處理。然而,應(yīng)該注意的是會(huì)話(huà)狀態(tài)和應(yīng)用程序狀態(tài)并不在 ASP 和 ASP.NET 頁(yè)面之間共享。
三、ASP.NET與IIS、ASP 之間的比較
ASP.NET 應(yīng)用程序與 Internet 信息服務(wù) (IIS) 之間的關(guān)系如下:IIS 通過(guò) aspnet_isapi.dll(ASP.NET 的進(jìn)程模型)對(duì)可發(fā)布的 ASP.NET 文件的所有請(qǐng)求提供服務(wù)。IIS 不會(huì)處理服務(wù)器端的代碼;而 ASP.NET 引擎則會(huì)處理服務(wù)器端代碼,然后將輸出返回給 IIS(如果可能,或另一個(gè) Web 服務(wù)器)。
ASP.NET 并非僅僅是下一代的ASP,它為創(chuàng)建利用 Internet 的網(wǎng)絡(luò)應(yīng)用程序提供了全新的編程模型。ASP.NET與ASP比較的特點(diǎn)如下:
1、改進(jìn)的性能和可伸縮性
1)編譯后執(zhí)行:ASP.NET 比傳統(tǒng) ASP 的運(yùn)行速度更快,同時(shí)保留了 ASP"只需點(diǎn)擊保存"的更新模型。無(wú)需顯式的編譯步驟。ASP.NET 自動(dòng)檢測(cè)變化,根據(jù)需要?jiǎng)討B(tài)編譯文件,并且保存編譯結(jié)果以便后續(xù)的請(qǐng)求再次使用。動(dòng)態(tài)編譯保證了用戶(hù)的應(yīng)用程序總是最新的,并且編譯后執(zhí)行的操作會(huì)使其運(yùn)行速度更快。對(duì)于多數(shù)從傳統(tǒng)的 ASP 遷移到 ASP.NET 的應(yīng)用程序,其處理的頁(yè)數(shù)增長(zhǎng)了 3 至 5 倍。
2)大容量輸出緩存:ASP.NET 輸出緩存極大地改進(jìn)了應(yīng)用程序的性能和可伸縮性。當(dāng)在頁(yè)面中啟用輸出緩存時(shí),ASP.NET 就會(huì)執(zhí)行一次該頁(yè)并將結(jié)果在發(fā)送至用戶(hù)之前保存在內(nèi)存中。當(dāng)其他用戶(hù)請(qǐng)求同一頁(yè)面時(shí),ASP.NET 使用內(nèi)存中的緩存結(jié)果向用戶(hù)提供服務(wù),而不是重新執(zhí)行該頁(yè)面。輸出緩存是可配置的,并且可以用來(lái)緩存單個(gè)區(qū)域或整個(gè)頁(yè)面。
3)Web 場(chǎng)會(huì)話(huà)狀態(tài):ASP.NET 會(huì)話(huà)狀態(tài)允許我們?cè)?Web 場(chǎng)中的所有計(jì)算機(jī)之間共享會(huì)話(huà)數(shù)據(jù)?,F(xiàn)在,用戶(hù)可以通過(guò)多個(gè)請(qǐng)求訪(fǎng)問(wèn) Web 場(chǎng)中不同的服務(wù)器,并且仍然具有完全訪(fǎng)問(wèn)會(huì)話(huà)數(shù)據(jù)的權(quán)限。
2、增強(qiáng)的可靠性
內(nèi)存泄漏、死鎖和故障保護(hù):ASP.NET 自動(dòng)檢測(cè)錯(cuò)誤(例如,死鎖和內(nèi)存泄漏)并進(jìn)行恢復(fù)以確保我們的應(yīng)用程序始終可用。例如,當(dāng)檢測(cè)到內(nèi)存泄漏時(shí),ASP.NET 將自動(dòng)啟動(dòng)新的 ASP.NET 工作進(jìn)程副本,并將所有的新請(qǐng)求定向到該進(jìn)程。當(dāng)舊進(jìn)程完成掛起請(qǐng)求的處理后,會(huì)經(jīng)過(guò)適當(dāng)?shù)奶幹貌⑨尫判孤┑膬?nèi)存。
3、部署簡(jiǎn)單
1)"非接觸式"應(yīng)用程序部署:使用 ASP.NET,我們可以通過(guò)將其復(fù)制到服務(wù)器來(lái)進(jìn)行整個(gè)應(yīng)用程序的部署。配置設(shè)置將存儲(chǔ)在應(yīng)用程序的 XML 文件中。
2)動(dòng)態(tài)更新運(yùn)行的應(yīng)用程序:ASP.NET 允許我們不必重新啟動(dòng) Web 服務(wù)器而更新已編譯的組件。與傳統(tǒng)的 COM 組件(這些組件需要在部署更新后手動(dòng)重新啟動(dòng) Web 服務(wù)器)不同,ASP.NET 自動(dòng)檢測(cè)更改并使用新的代碼啟動(dòng)。
3)遷移路徑簡(jiǎn)單:ASP.NET 可以和傳統(tǒng)的 ASP 應(yīng)用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成員的 IIS 上運(yùn)行。我們可以一次遷移一個(gè)應(yīng)用程序,甚至是單獨(dú)的頁(yè)面。ASP.NET 甚至允許我們繼續(xù)使用現(xiàn)有的傳統(tǒng) COM 商務(wù)組件。
4、新的應(yīng)用程序模型
1)XML Web 服務(wù):XML Web 服務(wù)允許應(yīng)用程序通過(guò) Internet 進(jìn)行通信和共享數(shù)據(jù),而不管操作系統(tǒng)和編程語(yǔ)言如何。ASP.NET 使得公開(kāi)和調(diào)用 XML 網(wǎng)絡(luò)服務(wù)變得簡(jiǎn)單。
2)移動(dòng) Web 設(shè)備支持:ASP.NET 移動(dòng)控件允許我們處理超過(guò) 80 臺(tái)使用 ASP.NET 的移動(dòng) Web 設(shè)備。我們只需一次性寫(xiě)入應(yīng)用程序,移動(dòng)控件就能自動(dòng)生成請(qǐng)求設(shè)備的頁(yè)面。
5、開(kāi)發(fā)人員的效率
1)簡(jiǎn)單的編程模型:具有服務(wù)器控件(這些控件允許我們使用比傳統(tǒng) ASP 更少的代碼來(lái)構(gòu)建效果極佳的頁(yè)面)的 ASP.NET 使得動(dòng)態(tài)構(gòu)建真實(shí)的 Web 應(yīng)用程序變得更加容易。
2)靈活的語(yǔ)言選項(xiàng):ASP.NET 不僅支持 Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript,而且支持 25 種以上的 .NET 語(yǔ)言,包括對(duì) Visual Basic .NET、Microsoft C# 和 JScript .NET 的內(nèi)置支持。
3)豐富的類(lèi)框架:.NET Framework 類(lèi)庫(kù)提供了 4500 多種類(lèi),這些類(lèi)封裝了大量的功能,諸如 XML、數(shù)據(jù)訪(fǎng)問(wèn)、文件上載、正則表達(dá)式、圖像生成、性能監(jiān)視和日志記錄、事務(wù)、消息隊(duì)列和 SMTP 郵件。
簡(jiǎn)單的說(shuō),ASP.NET優(yōu)點(diǎn)有:
1、代碼和內(nèi)容分離使代碼更清晰
2、提高可部署性、可伸縮性、安全性以及可靠性
3、為不同的瀏覽器和設(shè)備提供更好的支持
而ASP缺點(diǎn)是:
1、ASP只能使用腳本語(yǔ)言屬于解釋性語(yǔ)言,主要是javascript或VBScript。而解釋性語(yǔ)言缺乏強(qiáng)類(lèi)型和編譯環(huán)境。這些將不可避免地導(dǎo)致性能和伸縮性問(wèn)題。
2、ASP代碼雜亂、功能有限,瀏覽器兼容以及瀏覽設(shè)備的兼容性差,而ASP.NET能夠很好的解決。
四、以前的 Web 開(kāi)發(fā)模型相比,ASP.NET 提供了數(shù)個(gè)重要的優(yōu)點(diǎn):
增強(qiáng)的性能。ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語(yǔ)言運(yùn)行庫(kù)代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫(xiě)代碼行之前便顯著提高了性能。
世界級(jí)的工具支持。ASP.NET 框架補(bǔ)充了 Visual Studio 集成開(kāi)發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。WYSIWYG 編輯、拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工具所提供功能中的少數(shù)幾種。
威力和靈活性。由于 ASP.NET 基于公共語(yǔ)言運(yùn)行庫(kù),因此 Web 應(yīng)用程序開(kāi)發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。.NET 框架類(lèi)庫(kù)、消息處理和數(shù)據(jù)訪(fǎng)問(wèn)解決方案都可從 Web 無(wú)縫訪(fǎng)問(wèn)。ASP.NET 也與語(yǔ)言無(wú)關(guān),所以可以選擇最適合應(yīng)用程序的語(yǔ)言,或跨多種語(yǔ)言分割應(yīng)用程序。另外,公共語(yǔ)言運(yùn)行庫(kù)的交互性保證在遷移到 ASP.NET 時(shí)保留基于 COM 的開(kāi)發(fā)中的現(xiàn)有投資。
簡(jiǎn)易性。ASP.NET 使執(zhí)行常見(jiàn)任務(wù)變得容易,從簡(jiǎn)單的窗體提交和客戶(hù)端身份驗(yàn)證到部署和站點(diǎn)配置。例如,ASP.NET 頁(yè)框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開(kāi)的用戶(hù)界面,和在類(lèi)似 Visual Basic 的簡(jiǎn)單窗體處理模型中處理事件。另外,公共語(yǔ)言運(yùn)行庫(kù)利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡(jiǎn)化了開(kāi)發(fā)。
可管理性。ASP.NET 采用基于文本的分層配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒(méi)有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此"零本地管理"哲學(xué)也擴(kuò)展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動(dòng)服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時(shí)。
可縮放性和可用性。ASP.NET 在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專(zhuān)門(mén)用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運(yùn)行庫(kù)的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請(qǐng)求。
自定義性和擴(kuò)展性。ASP.NET 隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它使開(kāi)發(fā)人員可以在適當(dāng)?shù)募?jí)別"插入"代碼。實(shí)際上,可以用自己編寫(xiě)的自定義組件擴(kuò)展或替換 ASP.NET 運(yùn)行庫(kù)的任何子組件。實(shí)現(xiàn)自定義身份驗(yàn)證或狀態(tài)服務(wù)一直沒(méi)有變得更容易。
安全性。借助內(nèi)置的 Windows 身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。
五、ASP.NET做商業(yè)網(wǎng)站的優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn):ASP.NET做起來(lái)快,因?yàn)槲④浗o我們封裝了很多控件,以及很多現(xiàn)成的模式。
缺點(diǎn):PHP語(yǔ)言可以在Linux、FreeBSD、OpenBSD、Solaris Unix運(yùn)行,這些操作系統(tǒng)可以使用免費(fèi)版、不存在盜版問(wèn)題。 ASP/ASP.NET語(yǔ)言?xún)H可以在Windows操作系統(tǒng)運(yùn)行。而有些服務(wù)器使用的Windows操作系統(tǒng)都是盜版的、盜版、侵權(quán)等不安全因素隨時(shí)會(huì)出現(xiàn)
六、如何安裝 ASP.NET
在 Windows Server 2003 家族、Windows 2000 (Professional、Server 和 Advanced Server)以及 Windows XP Professional 上的客戶(hù)端和服務(wù)器應(yīng)用程序都支持 ASP.NET。
運(yùn)行 Microsoft Windows Server 2003 家族成員的服務(wù)器可以配置為應(yīng)用程序服務(wù)器,并將 ASP.NET 作為在配置應(yīng)用程序服務(wù)器角色時(shí)可以啟用的選項(xiàng)。要向產(chǎn)品服務(wù)器部署 ASP.NET Web 應(yīng)用程序,在分發(fā)應(yīng)用程序之前,必須確保在產(chǎn)品服務(wù)器中啟用了 ASP.NET 和 IIS 角色。
1、使用"配置您的服務(wù)器"向?qū)г谶\(yùn)行 Windows Server 2003 的服務(wù)器中安裝 ASP.NET
1)從"開(kāi)始"菜單中,單擊"管理您的服務(wù)器";在"管理您的服務(wù)器"窗口中,單擊"添加或刪除角色"。
2)在"配置您的服務(wù)器向?qū)?中,單擊"下一步",并在"服務(wù)器角色"對(duì)話(huà)框中,選中"應(yīng)用程序服務(wù)器 (IIS、ASP.NET)",然后單擊"下一步"。
3)在"應(yīng)用程序服務(wù)器選項(xiàng)"對(duì)話(huà)框中,選中"啟用 ASP.NET"復(fù)選框,單擊"下一步",然后再單擊"下一步"。
4)如有必要,請(qǐng)將 Windows Server 2003 安裝 CD 插入 CD-ROM 驅(qū)動(dòng)器,然后單擊"下一步"。
5)當(dāng)安裝完成時(shí),單擊"完成"。
2、在運(yùn)行 Windows Server 2003 的服務(wù)器中使用"添加或刪除程序"安裝 ASP.NET
1)從"開(kāi)始"菜單中,指向"控制面板",然后單擊"添加或刪除程序"。
2)在"添加或刪除程序"對(duì)話(huà)框中,單擊"添加/刪除 Windows 組件"。
3)在"Windows 組件"向?qū)е械?組件"中,選中"應(yīng)用程序服務(wù)器"復(fù)選框,然后單擊"下一步"。
4)當(dāng)在"Windows 組件"向?qū)е型瓿蓪?duì) Windows Server 2003 的配置時(shí),單擊"完成"。
3、在運(yùn)行 Windows Server 2003 的服務(wù)器中的 IIS 管理器中啟用 ASP.NET
1)從"開(kāi)始"菜單中,單擊"運(yùn)行"。
2)在"運(yùn)行"對(duì)話(huà)框中的"打開(kāi)"框中,鍵入 inetmgr,然后單擊"確定"。
3)在 IIS 管理器中,展開(kāi)本地計(jì)算機(jī),然后單擊"Web 服務(wù)擴(kuò)展"。
4)在右側(cè)窗格中,右鍵單擊"ASP.NET"然后單擊"允許"。ASP.NET 的狀態(tài)變?yōu)?允許"。
七、ASP.NET Web 應(yīng)用程序的布局
ASP.NET 應(yīng)用程序被定義為可從 Web 服務(wù)器上的虛擬目錄及其子目錄中調(diào)用的所有文件和可執(zhí)行碼。其中可以包含網(wǎng)頁(yè)(.html 文件)、Web 表單頁(yè)面(.aspx 文件)、Web 表單用戶(hù)控件(.ascx 文件)、XML Web 服務(wù)(.asmx 文件)、HTTP 處理程序、HTTP 模塊和其他文件(如圖像和配置文件)?,F(xiàn)在使用的所有與 Microsoft .NET Framework 版本相關(guān)的腳本映射也都是 ASP.NET 應(yīng)用程序的一部分。ASP.NET 應(yīng)用程序必須位于 IIS 虛擬目錄(也稱(chēng)為應(yīng)用程序根目錄)中。ASP.NET 應(yīng)用程序可包含已編譯的程序集(通常是包含業(yè)務(wù)邏輯的 DLL 文件)、用于存儲(chǔ)預(yù)編譯代碼的已知目錄(目錄名總是 \Bin)、存儲(chǔ)在基于文本的、易讀的 Web.config 文件中的配置設(shè)置、頁(yè)、服務(wù)器控件,以及 XML Web 服務(wù)。
服務(wù)器中任何不與其他應(yīng)用程序共享的預(yù)編譯代碼必須存儲(chǔ)在應(yīng)用程序的 \Bin 目錄中。它是應(yīng)用程序的本地程序集緩存。Web.config 文件在基于 XML 的文本文件中存儲(chǔ)應(yīng)用程序級(jí)的配置文件。這意味著可以使用任意標(biāo)準(zhǔn)的文本編輯器或 XML 分析器來(lái)創(chuàng)建它們,而且它們是可讀的。如果不在應(yīng)用程序根目錄中包含 Web.config 文件,則配置設(shè)置由 Machine.config 文件中整個(gè)服務(wù)器的配置文件來(lái)確定。安裝 .NET Framework 時(shí),會(huì)安裝 Machine.config 文件的某個(gè)版本。
下圖顯示了 ASP.NET 應(yīng)用程序文件系統(tǒng)布局的示例。
本圖中的應(yīng)用程序包括 \Bin 目錄中的兩個(gè) DLL 文件、一個(gè) Default.aspx 頁(yè),一個(gè)名為 Menu.ascx 的用戶(hù)控件、一個(gè)名為 MyWebService.asmx 的 XML Web 服務(wù)以及一個(gè) Global.asax 文件。另外,該應(yīng)用程序是使用下列三個(gè)配置文件配置的:系統(tǒng)根目錄中計(jì)算機(jī)級(jí)別的 Machine.config 文件、C:\Inetpub\ 目錄中站點(diǎn)級(jí)別的 Web.config 文件和應(yīng)用程序根目錄中應(yīng)用程序級(jí)別的 Web.config 文件。當(dāng)站點(diǎn)的 Web.config 文件覆蓋 Machine.config 文件中的設(shè)置時(shí),在應(yīng)用程序根目錄中存儲(chǔ)的配置設(shè)置將覆蓋站點(diǎn)的 Web.config 文件和 Machine.config 文件中的設(shè)置。
八、ASP.NET 2.0的新特性
數(shù)據(jù)訪(fǎng)問(wèn)
1、數(shù)據(jù)源控件
2、新的數(shù)據(jù)綁定控件
3、數(shù)據(jù)控件參數(shù)對(duì)象
4、改進(jìn)了數(shù)據(jù)綁定的語(yǔ)法
5、本地文件化的SQL數(shù)據(jù)庫(kù)
驗(yàn)證控件
1、驗(yàn)證群
2、聚焦錯(cuò)誤控件
3、適應(yīng)不同的文化
4、驗(yàn)證空數(shù)據(jù)
風(fēng)格主題和皮膚
用模板設(shè)計(jì)頁(yè)面
建立分層站點(diǎn)導(dǎo)航
1、導(dǎo)航生成器
2、導(dǎo)航控件
增強(qiáng)安全
1、成員和角色管理
2、登錄控件
自定義站點(diǎn)
存儲(chǔ)用戶(hù)檔案
緩存
國(guó)際化站點(diǎn)
1、自動(dòng)檢測(cè)瀏覽器語(yǔ)言
2、本地化資源
應(yīng)用程序狀態(tài)
1、可擴(kuò)展回話(huà)機(jī)制
2、控件狀態(tài)
3、加密視圖狀態(tài)
監(jiān)視站點(diǎn)
1、集成跟蹤
2、事件處理
3、自定義跟蹤信息
新的控件
1、導(dǎo)航
2、向?qū)?br>
3、數(shù)據(jù)源
4、增強(qiáng)的數(shù)據(jù)表格
其他特性
1、增加非ASP.NET文件的安全
2、客戶(hù)端CALL BACK機(jī)制
3、跨頁(yè)提交
4、站點(diǎn)維護(hù)標(biāo)示
5、更加簡(jiǎn)化的Code Behind機(jī)制
6、動(dòng)態(tài)編譯類(lèi)
用戶(hù)登錄
還沒(méi)有賬號(hào)?
立即注冊(cè)