詳解ASP.NET應(yīng)用程序
ASP.NET應(yīng)用程序文件系統(tǒng)布局的示例

本圖中的ASP.NET應(yīng)用程序包括 \Bin 目錄中的兩個 DLL 文件、一個 Default.aspx 頁,一個名為 Menu.ascx 的用戶控件、一個名為 MyWebService.asmx 的 XML Web 服務(wù)以及一個 Global.asax 文件。另外,該應(yīng)用程序是使用下列三個配置文件配置的:系統(tǒng)根目錄中計算機級別的 Machine.config 文件、C:\Inetpub\Wwwroot 目錄中站點級別的 Web.config 文件和應(yīng)用程序根目錄中應(yīng)用程序級別的 Web.config 文件。當站點的 Web.config 文件覆蓋 Machine.config 文件中的設(shè)置時,在ASP.NET應(yīng)用程序根目錄中存儲的配置設(shè)置將覆蓋站點的 Web.config 文件和 Machine.config 文件中的設(shè)置。
ASP.NET與IIS、ASP 之間的比較
ASP.NET應(yīng)用程序與 Internet 信息服務(wù) (IIS) 之間的關(guān)系如下:IIS 通過 aspnet_isapi.dll(ASP.NET 的進程模型)對可發(fā)布的 ASP.NET 文件的所有請求提供服務(wù)。IIS 不會處理服務(wù)器端的代碼;而 ASP.NET 引擎則會處理服務(wù)器端代碼,然后將輸出返回給 IIS(如果可能,或另一個 Web 服務(wù)器)。
ASP.NET 并非僅僅是下一代的ASP,它為創(chuàng)建利用 Internet 的網(wǎng)絡(luò)應(yīng)用程序提供了全新的編程模型。ASP.NET與ASP比較的特點如下:
1、改進的性能和可伸縮性
1)編譯后執(zhí)行:ASP.NET 比傳統(tǒng) ASP 的運行速度更快,同時保留了 ASP"只需點擊保存"的更新模型。無需顯式的編譯步驟。ASP.NET 自動檢測變化,根據(jù)需要動態(tài)編譯文件,并且保存編譯結(jié)果以便后續(xù)的請求再次使用。動態(tài)編譯保證了用戶的應(yīng)用程序總是最新的,并且編譯后執(zhí)行的操作會使其運行速度更快。對于多數(shù)從傳統(tǒng)的 ASP 遷移到 ASP.NET 的應(yīng)用程序,其處理的頁數(shù)增長了 3 至 5 倍。
2)大容量輸出緩存:ASP.NET 輸出緩存極大地改進了應(yīng)用程序的性能和可伸縮性。當在頁面中啟用輸出緩存時,ASP.NET 就會執(zhí)行一次該頁并將結(jié)果在發(fā)送至用戶之前保存在內(nèi)存中。當其他用戶請求同一頁面時,ASP.NET 使用內(nèi)存中的緩存結(jié)果向用戶提供服務(wù),而不是重新執(zhí)行該頁面。輸出緩存是可配置的,并且可以用來緩存單個區(qū)域或整個頁面。
3)Web 場會話狀態(tài):ASP.NET 會話狀態(tài)允許我們在 Web 場中的所有計算機之間共享會話數(shù)據(jù)。現(xiàn)在,用戶可以通過多個請求訪問 Web 場中不同的服務(wù)器,并且仍然具有完全訪問會話數(shù)據(jù)的權(quán)限。
2、增強的可靠性
內(nèi)存泄漏、死鎖和故障保護:ASP.NET 自動檢測錯誤(例如,死鎖和內(nèi)存泄漏)并進行恢復(fù)以確保我們的應(yīng)用程序始終可用。例如,當檢測到內(nèi)存泄漏時,ASP.NET 將自動啟動新的 ASP.NET 工作進程副本,并將所有的新請求定向到該進程。當舊進程完成掛起請求的處理后,會經(jīng)過適當?shù)奶幹貌⑨尫判孤┑膬?nèi)存。
3、部署簡單
1)"非接觸式"應(yīng)用程序部署:使用 ASP.NET,我們可以通過將其復(fù)制到服務(wù)器來進行整個應(yīng)用程序的部署。配置設(shè)置將存儲在應(yīng)用程序的 XML 文件中。
2)動態(tài)更新運行的應(yīng)用程序:ASP.NET 允許我們不必重新啟動 Web 服務(wù)器而更新已編譯的組件。與傳統(tǒng)的 COM 組件(這些組件需要在部署更新后手動重新啟動 Web 服務(wù)器)不同,ASP.NET 自動檢測更改并使用新的代碼啟動。
3)遷移路徑簡單:ASP.NET 可以和傳統(tǒng)的 ASP 應(yīng)用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成員的 IIS 上運行。我們可以一次遷移一個應(yīng)用程序,甚至是單獨的頁面。ASP.NET 甚至允許我們繼續(xù)使用現(xiàn)有的傳統(tǒng) COM 商務(wù)組件。
4、新的應(yīng)用程序模型
1)XML Web 服務(wù):XML Web 服務(wù)允許應(yīng)用程序通過 Internet 進行通信和共享數(shù)據(jù),而不管操作系統(tǒng)和編程語言如何。ASP.NET 使得公開和調(diào)用 XML 網(wǎng)絡(luò)服務(wù)變得簡單。
2)移動 Web 設(shè)備支持:ASP.NET 移動控件允許我們處理超過 80 臺使用 ASP.NET 的移動 Web 設(shè)備。我們只需一次性寫入ASP.NET應(yīng)用程序,移動控件就能自動生成請求設(shè)備的頁面。
5、開發(fā)人員的效率
1)簡單的編程模型:具有服務(wù)器控件(這些控件允許我們使用比傳統(tǒng) ASP 更少的代碼來構(gòu)建效果極佳的頁面)的 ASP.NET 使得動態(tài)構(gòu)建真實的 Web 應(yīng)用程序變得更加容易。
2)靈活的語言選項:ASP.NET 不僅支持 Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript,而且支持 25 種以上的 .NET 語言,包括對 Visual Basic .NET、Microsoft C# 和 JScript .NET 的內(nèi)置支持。
3)豐富的類框架:.NET Framework 類庫提供了 4500 多種類,這些類封裝了大量的功能,諸如 XML、數(shù)據(jù)訪問、文件上載、正則表達式、圖像生成、性能監(jiān)視和日志記錄、事務(wù)、消息隊列和 SMTP 郵件。以上是介紹ASP.NET 應(yīng)用程序。
【編輯推薦】