大家知道,Microsoft為了更好地預(yù)防惡意用戶和攻擊者的攻擊,在默認(rèn)情況下,沒有將 IIS6.0 安裝到 Windows Server 2003 家族的成員上。而且,當(dāng)我們最初安裝 IIS6.0 時(shí),該服務(wù)在高度安全和"鎖定"模式下安裝。在默認(rèn)情況下,IIS6.0 只為靜態(tài)內(nèi)容提供服務(wù)即,諸如 ASP、ASP.NET、在服務(wù)器端的包含文件、WebDAV 發(fā)布和 FrontPage Server Extensions 功能只有在啟用時(shí)才工作。在windows 2003 IIS 6.0中安裝部署ASP.net環(huán)境,我們首先要了解一下IIS6.0 新的特點(diǎn),在windows 2003 Server下如何安裝IIS6.0,在IIS6.0的配合下我們?nèi)绾蝸戆惭b和部署ASP.net環(huán)境,以及它們之間關(guān)系,下面的內(nèi)容將給大家一個(gè)解答。
1、使用"配置您的服務(wù)器向?qū)?安裝 IIS6.0
1)從"開始"菜單,單擊"管理您的服務(wù)器"。
2)在"管理您的服務(wù)器角色"下,單擊"添加或刪除角色"。
3)閱讀"配置您的服務(wù)器向?qū)?中的預(yù)備步驟,然后單擊"下一步"。
4)在"服務(wù)器角色"下,單擊"應(yīng)用程序服務(wù)器 (IIS,ASP.NET)",然后單擊"下一步"。
5)閱讀概要信息,然后單擊"下一步"。
6)單擊"完成"。
2、使用控制面板安裝 IIS、添加組件或刪除組件
1)從"開始"菜單,單擊"控制面板"。
2)雙擊"添加或刪除程序"。
3)單擊"添加/刪除 Windows 組件"。
4)在"組件"列表框中,單擊"應(yīng)用程序服務(wù)器"。
5)單擊"詳細(xì)信息"。
6)單擊"Internet 信息服務(wù)管理器"。
7)單擊"詳細(xì)信息"以查看 IIS 可選組件的列表。
8)選擇要安裝的所有可選組件。
9)單擊"確定",直到返回到"Windows 組件向?qū)?。
10)單擊"下一步",然后完成"Windows 組件向?qū)?。
三、在Windows 2003 Server 安裝 ASP.NET
Windows Server 2003 家族利用 ASP.NET 和 IIS 集成改善了開發(fā)人員體驗(yàn)。ASP.NET 識(shí)別大多數(shù) ASP 代碼,同時(shí)為創(chuàng)建可作為 Microsoft .NET Framework 的一部分工作的企業(yè)級 Web 應(yīng)用程序提供更多的功能。使用ASP.NET 允許我們充分利用公共語言運(yùn)行庫的功能,如類型安全、繼承、語言互操作性和版本控制。IIS 6.0 還為最新的 Web 標(biāo)準(zhǔn),包括 XML、簡單對象訪問協(xié)議 (SOAP) 和 Internet 協(xié)議版本 6.0 (IPv6.0),提供支持。
ASP.NET 是一個(gè)統(tǒng)一的 Web 開發(fā)平臺(tái),它提供開發(fā)人員創(chuàng)建企業(yè)級 Web 應(yīng)用程序所需的服務(wù)。盡管 ASP.NET 的語法基本上與 ASP 兼容,但是它還提供了一個(gè)新的編程模型和基礎(chǔ)結(jié)構(gòu)以提高應(yīng)用程序的安全性、縮放性和穩(wěn)定性。通過逐漸向現(xiàn)有的 ASP 應(yīng)用程序增加 ASP.NET 功能,我們可以自由地使其增大。ASP.NET 是一個(gè)編譯的、基于 .NET 的環(huán)境;我們可以用任何 .NET 兼容的語言(包括 Microsoft Visual Basic.NET,Microsoft Visual C# 和 Microsoft JScript .NET)創(chuàng)作應(yīng)用程序。另外,整個(gè) Microsoft .NET Framework 可用于任何 ASP.NET 應(yīng)用程序。開發(fā)人員可以很容易地從這些技術(shù)受益,這些技術(shù)包括管理的公共語言運(yùn)行庫環(huán)境、類型安全、繼承等。
ASP.NET的優(yōu)點(diǎn)如下:
1)可管理性: ASP.NET 使用基于文本的、分級的配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序的工作。因?yàn)榕渲眯畔⑹谴鎯?chǔ)為純文本的,因此可以在沒有本地管理工具的幫助下應(yīng)用新的設(shè)置。配置文件的任何變化都可以自動(dòng)檢測到并應(yīng)用于應(yīng)用程序。
2)安全: ASP.NET 為 Web 應(yīng)用程序提供了默認(rèn)的授權(quán)和身份驗(yàn)證方案。開發(fā)人員可以根據(jù)應(yīng)用程序的需要很容易地添加、刪除或替換這些方案。
3)易于部署: 通過簡單地將必要的文件復(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ù)來提高性能。
5)靈活的輸出緩存: 根據(jù)應(yīng)用程序的需要,ASP.NET 可以緩存頁數(shù)據(jù)、頁的一部分或整個(gè)頁。緩存的項(xiàng)目可以依賴于緩存中的文件或其他項(xiàng)目,或者可以根據(jù)過期策略進(jìn)行刷新。
6)國際化: ASP.NET 在內(nèi)部使用 Unicode 以表示請求和響應(yīng)數(shù)據(jù)。可以為每臺(tái)計(jì)算機(jī)、每個(gè)目錄和每頁配置國際化設(shè)置。
7)移動(dòng)設(shè)備支持: ASP.NET 支持任何設(shè)備上的任何瀏覽器。開發(fā)人員使用與用于傳統(tǒng)的桌面瀏覽器相同的編程技術(shù)來處理新的移動(dòng)設(shè)備。
8)擴(kuò)展性和可用性: ASP.NET 被設(shè)計(jì)成可擴(kuò)展的、具有特別專有的功能來提高群集的、多處理器環(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ù)處理請求。
9)跟蹤和調(diào)試: ASP.NET 提供了跟蹤服務(wù),該服務(wù)可在應(yīng)用程序級別和頁面級別調(diào)試過程中啟用??梢赃x擇查看頁面的信息,或者使用應(yīng)用程序級別的跟蹤查看工具查看信息。在開發(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í),跟蹤語句能夠留在產(chǎn)品代碼中而不會(huì)影響性能。
10)與 .NET Framework 集成: 因?yàn)?ASP.NET 是 .NET Framework 的一部分,整個(gè)平臺(tái)的功能和靈活性對 Web 應(yīng)用程序都是可用的。也可從 Web 上流暢地訪問 .NET 類庫以及消息和數(shù)據(jù)訪問解決方案。ASP.NET 是獨(dú)立于語言之外的,所以開發(fā)人員能選擇最適于應(yīng)用程序的語言。另外,公共語言運(yùn)行庫的互用性還保存了基于 COM 開發(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 引擎來處理。然而,應(yīng)該注意的是會(huì)話狀態(tài)和應(yīng)用程序狀態(tài)并不在 ASP 和 ASP.NET 頁面之間共享。
安裝 ASP.NET
在 Windows Server 2003 家族、Windows 2000 (Professional、Server 和 Advanced Server)以及 Windows XP Professional 上的客戶端和服務(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)從"開始"菜單中,單擊"管理您的服務(wù)器";在"管理您的服務(wù)器"窗口中,單擊"添加或刪除角色"。
2)在"配置您的服務(wù)器向?qū)?中,單擊"下一步",并在"服務(wù)器角色"對話框中,選中"應(yīng)用程序服務(wù)器 (IIS、ASP.NET)",然后單擊"下一步"。
3)在"應(yīng)用程序服務(wù)器選項(xiàng)"對話框中,選中"啟用 ASP.NET"復(fù)選框,單擊"下一步",然后再單擊"下一步"。
4)如有必要,請將 Windows Server 2003 安裝 CD 插入 CD-ROM 驅(qū)動(dòng)器,然后單擊"下一步"。
5)當(dāng)安裝完成時(shí),單擊"完成"。
2、在運(yùn)行 Windows Server 2003 的服務(wù)器中使用"添加或刪除程序"安裝 ASP.NET
1)從"開始"菜單中,指向"控制面板",然后單擊"添加或刪除程序"。
2)在"添加或刪除程序"對話框中,單擊"添加/刪除 Windows 組件"。
3)在"Windows 組件"向?qū)е械?組件"中,選中"應(yīng)用程序服務(wù)器"復(fù)選框,然后單擊"下一步"。
4)當(dāng)在"Windows 組件"向?qū)е型瓿蓪?Windows Server 2003 的配置時(shí),單擊"完成"。
3、在運(yùn)行 Windows Server 2003 的服務(wù)器中的 IIS 管理器中啟用 ASP.NET
1)從"開始"菜單中,單擊"運(yùn)行"。
2)在"運(yùn)行"對話框中的"打開"框中,鍵入 inetmgr,然后單擊"確定"。
3)在 IIS 管理器中,展開本地計(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)頁(.html 文件)、Web 表單頁面(.aspx 文件)、Web 表單用戶控件(.ascx 文件)、XML Web 服務(wù)(.asmx 文件)、HTTP 處理程序、HTTP 模塊和其他文件(如圖像和配置文件)?,F(xiàn)在使用的所有與 Microsoft .NET Framework 版本相關(guān)的腳本映射也都是 ASP.NET 應(yīng)用程序的一部分。ASP.NET 應(yīng)用程序必須位于 IIS 虛擬目錄(也稱為應(yīng)用程序根目錄)中。ASP.NET 應(yīng)用程序可包含已編譯的程序集(通常是包含業(yè)務(wù)邏輯的 DLL 文件)、用于存儲(chǔ)預(yù)編譯代碼的已知目錄(目錄名總是 Bin)、存儲(chǔ)在基于文本的、易讀的 Web.config 文件中的配置設(shè)置、頁、服務(wù)器控件,以及 XML Web 服務(wù)。
服務(wù)器中任何不與其他應(yīng)用程序共享的預(yù)編譯代碼必須存儲(chǔ)在應(yīng)用程序的 Bin 目錄中。它是應(yīng)用程序的本地程序集緩存。Web.config 文件在基于 XML 的文本文件中存儲(chǔ)應(yīng)用程序級的配置文件。這意味著可以使用任意標(biāo)準(zhǔn)的文本編輯器或 XML 分析器來創(chuàng)建它們,而且它們是可讀的。如果不在應(yīng)用程序根目錄中包含 Web.config 文件,則配置設(shè)置由 Machine.config 文件中整個(gè)服務(wù)器的配置文件來確定。安裝 .NET Framework 時(shí),會(huì)安裝 Machine.config 文件的某個(gè)版本。
下圖顯示了 ASP.NET 應(yīng)用程序文件系統(tǒng)布局的示例。
本圖中的應(yīng)用程序包括 Bin 目錄中的兩個(gè) DLL 文件、一個(gè) Default.aspx 頁,一個(gè)名為 Menu.ascx 的用戶控件、一個(gè)名為 MyWebService.asmx 的 XML Web 服務(wù)以及一個(gè) Global.asax 文件。另外,該應(yīng)用程序是使用下列三個(gè)配置文件配置的:系統(tǒng)根目錄中計(jì)算機(jī)級別的 Machine.config 文件、C:InetpubWwwroot 目錄中站點(diǎn)級別的 Web.config 文件和應(yīng)用程序根目錄中應(yīng)用程序級別的 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與IIS、ASP 之間的比較
ASP.NET 應(yīng)用程序與 Internet 信息服務(wù) (IIS) 之間的關(guān)系如下:IIS 通過 aspnet_isapi.dll(ASP.NET 的進(jìn)程模型)對可發(fā)布的 ASP.NET 文件的所有請求提供服務(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)擊保存"的更新模型。無需顯式的編譯步驟。ASP.NET 自動(dòng)檢測變化,根據(jù)需要?jiǎng)討B(tài)編譯文件,并且保存編譯結(jié)果以便后續(xù)的請求再次使用。動(dòng)態(tài)編譯保證了用戶的應(yīng)用程序總是最新的,并且編譯后執(zhí)行的操作會(huì)使其運(yùn)行速度更快。對于多數(shù)從傳統(tǒng)的 ASP 遷移到 ASP.NET 的應(yīng)用程序,其處理的頁數(shù)增長了 3 至 5 倍。
2)大容量輸出緩存:ASP.NET 輸出緩存極大地改進(jìn)了應(yīng)用程序的性能和可伸縮性。當(dāng)在頁面中啟用輸出緩存時(shí),ASP.NET 就會(huì)執(zhí)行一次該頁并將結(jié)果在發(fā)送至用戶之前保存在內(nèi)存中。當(dāng)其他用戶請求同一頁面時(shí),ASP.NET 使用內(nèi)存中的緩存結(jié)果向用戶提供服務(wù),而不是重新執(zhí)行該頁面。輸出緩存是可配置的,并且可以用來緩存單個(gè)區(qū)域或整個(gè)頁面。
3)Web 場會(huì)話狀態(tài):ASP.NET 會(huì)話狀態(tài)允許我們在 Web 場中的所有計(jì)算機(jī)之間共享會(huì)話數(shù)據(jù)。現(xiàn)在,用戶可以通過多個(gè)請求訪問 Web 場中不同的服務(wù)器,并且仍然具有完全訪問會(huì)話數(shù)據(jù)的權(quán)限。
2、增強(qiáng)的可靠性
內(nèi)存泄漏、死鎖和故障保護(hù):ASP.NET 自動(dòng)檢測錯(cuò)誤(例如,死鎖和內(nèi)存泄漏)并進(jìn)行恢復(fù)以確保我們的應(yīng)用程序始終可用。例如,當(dāng)檢測到內(nèi)存泄漏時(shí),ASP.NET 將自動(dòng)啟動(dòng)新的 ASP.NET 工作進(jìn)程副本,并將所有的新請求定向到該進(jìn)程。當(dāng)舊進(jìn)程完成掛起請求的處理后,會(huì)經(jīng)過適當(dāng)?shù)奶幹貌⑨尫判孤┑膬?nèi)存。
3、部署簡單
1)"非接觸式"應(yīng)用程序部署:使用 ASP.NET,我們可以通過將其復(fù)制到服務(wù)器來進(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)檢測更改并使用新的代碼啟動(dòng)。
3)遷移路徑簡單:ASP.NET 可以和傳統(tǒng)的 ASP 應(yīng)用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成員的 IIS 上運(yùn)行。我們可以一次遷移一個(gè)應(yīng)用程序,甚至是單獨(dú)的頁面。ASP.NET 甚至允許我們繼續(xù)使用現(xiàn)有的傳統(tǒng) COM 商務(wù)組件。
4、新的應(yīng)用程序模型
1)XML Web 服務(wù):XML Web 服務(wù)允許應(yīng)用程序通過 Internet 進(jìn)行通信和共享數(shù)據(jù),而不管操作系統(tǒng)和編程語言如何。ASP.NET 使得公開和調(diào)用 XML 網(wǎng)絡(luò)服務(wù)變得簡單。
2)移動(dòng) Web 設(shè)備支持:ASP.NET 移動(dòng)控件允許我們處理超過 80 臺(tái)使用 ASP.NET 的移動(dòng) Web 設(shè)備。我們只需一次性寫入應(yīng)用程序,移動(dòng)控件就能自動(dòng)生成請求設(shè)備的頁面。
5、開發(fā)人員的效率
1)簡單的編程模型:具有服務(wù)器控件(這些控件允許我們使用比傳統(tǒng) ASP 更少的代碼來構(gòu)建效果極佳的頁面)的 ASP.NET 使得動(dòng)態(tài)構(gòu)建真實(shí)的 Web 應(yīng)用程序變得更加容易。
2)靈活的語言選項(xiàng):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ù)訪問、文件上載、正則表達(dá)式、圖像生成、性能監(jiān)視和日志記錄、事務(wù)、消息隊(duì)列和 SMTP 郵件。