大家知道,Microsoft為了更好地預防惡意用戶和攻擊者的攻擊,在默認情況下,沒有將 IIS6.0 安裝到 Windows Server 2003 家族的成員上。而且,當我們最初安裝 IIS6.0 時,該服務在高度安全和"鎖定"模式下安裝。在默認情況下,IIS6.0 只為靜態內容提供服務即,諸如 ASP、ASP.NET、在服務器端的包含文件、WebDAV 發布和 FrontPage Server Extensions 功能只有在啟用時才工作。在Windows 2003 IIS 6.0中安裝部署ASP.net環境,我們首先要了解一下IIS6.0 新的特點,在Windows 2003 Server下如何安裝IIS6.0,在IIS6.0的配合下我們如何來安裝和部署ASP.Net環境,以及它們之間關系,下面的內容將給大家一個解答。
IIS 6.0 包括許多新功能,它們旨在幫助企業、IT 專業人士和 Web 管理員實現其網站(他們可能擁有位於單個 IIS6.0 服務器或多個服務器上的數千個網站)在性能、可靠性、可伸縮性和安全性方面的目標。
下表總結了不同版本的 IIS 之間的重要區別。
1)從"開始"菜單,單擊"管理您的服務器"。
2)在"管理您的服務器角色"下,單擊"添加或刪除角色"。
3)閱讀"配置您的服務器向導"中的預備步驟,然後單擊"下一步"。
4)在"服務器角色"下,單擊"應用程序服務器 (IIS,ASP.Net)",然後單擊"下一步"。
5)閱讀概要信息,然後單擊"下一步"。
6)單擊"完成"。
1)從"開始"菜單,單擊"控制面板"。
2)雙擊"添加或刪除程序"。
3)單擊"添加/刪除 Windows 組件"。
4)在"組件"列表框中,單擊"應用程序服務器"。
5)單擊"詳細信息"。
6)單擊"Internet 信息服務管理器"。
7)單擊"詳細信息"以查看 IIS 可選組件的列表。
8)選擇要安裝的所有可選組件。
9)單擊"確定",直到返回到"Windows 組件向導"。
10)單擊"下一步",然後完成"Windows 組件向導"。
Windows Server 2003 家族利用 ASP.NET 和 IIS 集成改善了開發人員體驗。ASP.NET 識別大多數 ASP 代碼,同時為創建可作為 Microsoft .NET Framework 的一部分工作的企業級 Web 應用程序提供更多的功能。使用ASP.Net 允許我們充分利用公共語言運行庫的功能,如類型安全、繼承、語言互操作性和版本控制。IIS 6.0 還為最新的 Web 標准,包括 XML、簡單對象訪問協議 (SOAP) 和 Internet 協議版本 6.0 (IPv6.0),提供支持。
ASP.NET 是一個統一的 Web 開發平台,它提供開發人員創建企業級 Web 應用程序所需的服務。盡管 ASP.NET 的語法基本上與 ASP 兼容,但是它還提供了一個新的編程模型和基礎結構以提高應用程序的安全性、縮放性和穩定性。通過逐漸向現有的 ASP 應用程序增加 ASP.NET 功能,我們可以自由地使其增大。ASP.NET 是一個編譯的、基於 .NET 的環境;我們可以用任何 .NET 兼容的語言(包括 Microsoft Visual Basic.NET,Microsoft Visual C# 和 Microsoft JScript .NET)創作應用程序。另外,整個 Microsoft .NET Framework 可用於任何 ASP.Net 應用程序。開發人員可以很容易地從這些技術受益,這些技術包括管理的公共語言運行庫環境、類型安全、繼承等。
ASP.Net的優點如下:
1)可管理性: ASP.Net 使用基於文本的、分級的配置系統,簡化了將設置應用於服務器環境和 Web 應用程序的工作。因為配置信息是存儲為純文本的,因此可以在沒有本地管理工具的幫助下應用新的設置。配置文件的任何變化都可以自動檢測到並應用於應用程序。
2)安全: ASP.Net 為 Web 應用程序提供了默認的授權和身份驗證方案。開發人員可以根據應用程序的需要很容易地添加、刪除或替換這些方案。
3)易於部署: 通過簡單地將必要的文件復制到服務器上,ASP.Net 應用程序即可以部署到該服務器上。不需要重新啟動服務器,甚至在部署或替換運行的已編譯代碼時也不需要重新啟動。
4)增強的性能: ASP.NET 是運行在服務器上的已編譯代碼。與傳統的 Active Server Pages (ASP) 不同,ASP.Net 能利用早期綁定、實時 (JIT) 編譯、本機優化和全新的緩存服務來提高性能。
5)靈活的輸出緩存: 根據應用程序的需要,ASP.Net 可以緩存頁數據、頁的一部分或整個頁。緩存的項目可以依賴於緩存中的文件或其他項目,或者可以根據過期策略進行刷新。
6)國際化: ASP.Net 在內部使用 Unicode 以表示請求和響應數據。可以為每台計算機、每個目錄和每頁配置國際化設置。
7)移動設備支持: ASP.Net 支持任何設備上的任何浏覽器。開發人員使用與用於傳統的桌面浏覽器相同的編程技術來處理新的移動設備。
8)擴展性和可用性: ASP.NET 被設計成可擴展的、具有特別專有的功能來提高群集的、多處理器環境的性能。此外,Internet 信息服務 (IIS) 和 ASP.Net 運行時密切監視和管理進程,以便在一個進程出現異常時,可在該位置創建新的進程使應用程序繼續處理請求。
9)跟蹤和調試: ASP.NET 提供了跟蹤服務,該服務可在應用程序級別和頁面級別調試過程中啟用。可以選擇查看頁面的信息,或者使用應用程序級別的跟蹤查看工具查看信息。在開發和應用程序處於生產狀態時,ASP.NET 支持使用 .Net Framework 調試工具進行本地和遠程調試。當應用程序處於生產狀態時,跟蹤語句能夠留在產品代碼中而不會影響性能。
10)與 .NET Framework 集成: 因為 ASP.NET 是 .NET Framework 的一部分,整個平台的功能和靈活性對 Web 應用程序都是可用的。也可從 Web 上流暢地訪問 .NET 類庫以及消息和數據訪問解決方案。ASP.Net 是獨立於語言之外的,所以開發人員能選擇最適於應用程序的語言。另外,公共語言運行庫的互用性還保存了基於 COM 開發的現有投資。
11)與現有 ASP 應用程序的兼容性: ASP 和 ASP.NET 可並行運行在 IIS Web 服務器上而互不沖突;不會發生因安裝 ASP.NET 而導致現有 ASP 應用程序崩潰的可能。ASP.NET 僅處理具有 .aspx 文件擴展名的文件。具有 .asp 文件擴展名的文件繼續由 ASP 引擎來處理。然而,應該注意的是會話狀態和應用程序狀態並不在 ASP 和 ASP.Net 頁面之間共享。
安裝 ASP.Net
在 Windows Server 2003 家族、Windows 2000 (Professional、Server 和 Advanced Server)以及 Windows XP Professional 上的客戶端和服務器應用程序都支持 ASP.Net。
運行 Microsoft Windows Server 2003 家族成員的服務器可以配置為應用程序服務器,並將 ASP.NET 作為在配置應用程序服務器角色時可以啟用的選項。要向產品服務器部署 ASP.NET Web 應用程序,在分發應用程序之前,必須確保在產品服務器中啟用了 ASP.Net 和 IIS 角色。
1、使用"配置您的服務器"向導在運行 Windows Server 2003 的服務器中安裝 ASP.Net
1)從"開始"菜單中,單擊"管理您的服務器";在"管理您的服務器"窗口中,單擊"添加或刪除角色"。
2)在"配置您的服務器向導"中,單擊"下一步",並在"服務器角色"對話框中,選中"應用程序服務器 (IIS、ASP.Net)",然後單擊"下一步"。
3)在"應用程序服務器選項"對話框中,選中"啟用 ASP.Net"復選框,單擊"下一步",然後再單擊"下一步"。
4)如有必要,請將 Windows Server 2003 安裝 CD 插入 CD-ROM 驅動器,然後單擊"下一步"。
5)當安裝完成時,單擊"完成"。
2、在運行 Windows Server 2003 的服務器中使用"添加或刪除程序"安裝 ASP.Net
1)從"開始"菜單中,指向"控制面板",然後單擊"添加或刪除程序"。
2)在"添加或刪除程序"對話框中,單擊"添加/刪除 Windows 組件"。
3)在"Windows 組件"向導中的"組件"中,選中"應用程序服務器"復選框,然後單擊"下一步"。
4)當在"Windows 組件"向導中完成對 Windows Server 2003 的配置時,單擊"完成"。
3、在運行 Windows Server 2003 的服務器中的 IIS 管理器中啟用 ASP.Net
1)從"開始"菜單中,單擊"運行"。
2)在"運行"對話框中的"打開"框中,鍵入 inetmgr,然後單擊"確定"。
3)在 IIS 管理器中,展開本地計算機,然後單擊"Web 服務擴展"。
4)在右側窗格中,右鍵單擊"ASP.NET"然後單擊"允許"。ASP.Net 的狀態變為"允許"。
ASP.Net Web 應用程序的布局
ASP.NET 應用程序被定義為可從 Web 服務器上的虛擬目錄及其子目錄中調用的所有文件和可執行碼。其中可以包含網頁(.Html 文件)、Web 表單頁面(.aspx 文件)、Web 表單用戶控件(.ascx 文件)、XML Web 服務(.asmx 文件)、HTTP 處理程序、HTTP 模塊和其他文件(如圖像和配置文件)。現在使用的所有與 Microsoft .NET Framework 版本相關的腳本映射也都是 ASP.NET 應用程序的一部分。ASP.NET 應用程序必須位於 IIS 虛擬目錄(也稱為應用程序根目錄)中。ASP.Net 應用程序可包含已編譯的程序集(通常是包含業務邏輯的 DLL 文件)、用於存儲預編譯代碼的已知目錄(目錄名總是 \Bin)、存儲在基於文本的、易讀的 Web.config 文件中的配置設置、頁、服務器控件,以及 XML Web 服務。
ASP.Net與IIS、ASP 之間的比較
ASP.NET 應用程序與 Internet 信息服務 (IIS) 之間的關系如下:IIS 通過 aspnet_isapi.dll(ASP.NET 的進程模型)對可發布的 ASP.NET 文件的所有請求提供服務。IIS 不會處理服務器端的代碼;而 ASP.Net 引擎則會處理服務器端代碼,然後將輸出返回給 IIS(如果可能,或另一個 Web 服務器)。
ASP.NET 並非僅僅是下一代的ASP,它為創建利用 Internet 的網絡應用程序提供了全新的編程模型。ASP.Net與ASP比較的特點如下:
1、改進的性能和可伸縮性
1)編譯後執行:ASP.NET 比傳統 ASP 的運行速度更快,同時保留了 ASP"只需點擊保存"的更新模型。無需顯式的編譯步驟。ASP.NET 自動檢測變化,根據需要動態編譯文件,並且保存編譯結果以便後續的請求再次使用。動態編譯保證了用戶的應用程序總是最新的,並且編譯後執行的操作會使其運行速度更快。對於多數從傳統的 ASP 遷移到 ASP.Net 的應用程序,其處理的頁數增長了 3 至 5 倍。
2)大容量輸出緩存:ASP.NET 輸出緩存極大地改進了應用程序的性能和可伸縮性。當在頁面中啟用輸出緩存時,ASP.NET 就會執行一次該頁並將結果在發送至用戶之前保存在內存中。當其他用戶請求同一頁面時,ASP.Net 使用內存中的緩存結果向用戶提供服務,而不是重新執行該頁面。輸出緩存是可配置的,並且可以用來緩存單個區域或整個頁面。
3)Web 場會話狀態:ASP.Net 會話狀態允許我們在 Web 場中的所有計算機之間共享會話數據。現在,用戶可以通過多個請求訪問 Web 場中不同的服務器,並且仍然具有完全訪問會話數據的權限。
2、增強的可靠性
內存洩漏、死鎖和故障保護:ASP.NET 自動檢測錯誤(例如,死鎖和內存洩漏)並進行恢復以確保我們的應用程序始終可用。例如,當檢測到內存洩漏時,ASP.NET 將自動啟動新的 ASP.Net 工作進程副本,並將所有的新請求定向到該進程。當舊進程完成掛起請求的處理後,會經過適當的處置並釋放洩漏的內存。
3、部署簡單
1)"非接觸式"應用程序部署:使用 ASP.Net,我們可以通過將其復制到服務器來進行整個應用程序的部署。配置設置將存儲在應用程序的 XML 文件中。
2)動態更新運行的應用程序:ASP.NET 允許我們不必重新啟動 Web 服務器而更新已編譯的組件。與傳統的 COM 組件(這些組件需要在部署更新後手動重新啟動 Web 服務器)不同,ASP.Net 自動檢測更改並使用新的代碼啟動。
3)遷移路徑簡單:ASP.NET 可以和傳統的 ASP 應用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成員的 IIS 上運行。我們可以一次遷移一個應用程序,甚至是單獨的頁面。ASP.Net 甚至允許我們繼續使用現有的傳統 COM 商務組件。
4、新的應用程序模型
1)XML Web 服務:XML Web 服務允許應用程序通過 Internet 進行通信和共享數據,而不管操作系統和編程語言如何。ASP.Net 使得公開和調用 XML 網絡服務變得簡單。
2)移動 Web 設備支持:ASP.NET 移動控件允許我們處理超過 80 台使用 ASP.Net 的移動 Web 設備。我們只需一次性寫入應用程序,移動控件就能自動生成請求設備的頁面。
1)簡單的編程模型:具有服務器控件(這些控件允許我們使用比傳統 ASP 更少的代碼來構建效果極佳的頁面)的 ASP.Net 使得動態構建真實的 Web 應用程序變得更加容易。
2)靈活的語言選項:ASP.NET 不僅支持 Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript,而且支持 25 種以上的 .NET 語言,包括對 Visual Basic .NET、Microsoft C# 和 JScript .Net 的內置支持。
3)豐富的類框架:.Net Framework 類庫提供了 4500 多種類,這些類封裝了大量的功能,諸如 XML、數據訪問、文件上載、正則表達式、圖像生成、性能監視和日志記錄、事務、消息隊列和 SMTP 郵件。
1)可管理性: ASP.Net 使用基於文本的、分級的配置系統,簡化了將設置應用於服務器環境和 Web 應用程序的工作。因為配置信息是存儲為純文本的,因此可以在沒有本地管理工具的幫助下應用新的設置。配置文件的任何變化都可以自動檢測到並應用於應用程序。
2)安全: ASP.Net 為 Web 應用程序提供了默認的授權和身份驗證方案。開發人員可以根據應用程序的需要很容易地添加、刪除或替換這些方案。
3)易於部署: 通過簡單地將必要的文件復制到服務器上,ASP.Net 應用程序即可以部署到該服務器上。不需要重新啟動服務器,甚至在部署或替換運行的已編譯代碼時也不需要重新啟動。
4)增強的性能: ASP.NET 是運行在服務器上的已編譯代碼。與傳統的 Active Server Pages (ASP) 不同,ASP.Net 能利用早期綁定、實時 (JIT) 編譯、本機優化和全新的緩存服務來提高性能。
5)靈活的輸出緩存: 根據應用程序的需要,ASP.Net 可以緩存頁數據、頁的一部分或整個頁。緩存的項目可以依賴於緩存中的文件或其他項目,或者可以根據過期策略進行刷新。
6)國際化: ASP.Net 在內部使用 Unicode 以表示請求和響應數據。可以為每台計算機、每個目錄和每頁配置國際化設置。
7)移動設備支持: ASP.Net 支持任何設備上的任何浏覽器。開發人員使用與用於傳統的桌面浏覽器相同的編程技術來處理新的移動設備。
8)擴展性和可用性: ASP.NET 被設計成可擴展的、具有特別專有的功能來提高群集的、多處理器環境的性能。此外,Internet 信息服務 (IIS) 和 ASP.Net 運行時密切監視和管理進程,以便在一個進程出現異常時,可在該位置創建新的進程使應用程序繼續處理請求。
9)跟蹤和調試: ASP.NET 提供了跟蹤服務,該服務可在應用程序級別和頁面級別調試過程中啟用。可以選擇查看頁面的信息,或者使用應用程序級別的跟蹤查看工具查看信息。在開發和應用程序處於生產狀態時,ASP.NET 支持使用 .Net Framework 調試工具進行本地和遠程調試。當應用程序處於生產狀態時,跟蹤語句能夠留在產品代碼中而不會影響性能。
10)與 .NET Framework 集成: 因為 ASP.NET 是 .NET Framework 的一部分,整個平台的功能和靈活性對 Web 應用程序都是可用的。也可從 Web 上流暢地訪問 .NET 類庫以及消息和數據訪問解決方案。ASP.Net 是獨立於語言之外的,所以開發人員能選擇最適於應用程序的語言。另外,公共語言運行庫的互用性還保存了基於 COM 開發的現有投資。
11)與現有 ASP 應用程序的兼容性: ASP 和 ASP.NET 可並行運行在 IIS Web 服務器上而互不沖突;不會發生因安裝 ASP.NET 而導致現有 ASP 應用程序崩潰的可能。ASP.NET 僅處理具有 .aspx 文件擴展名的文件。具有 .asp 文件擴展名的文件繼續由 ASP 引擎來處理。然而,應該注意的是會話狀態和應用程序狀態並不在 ASP 和 ASP.Net 頁面之間共享。
服務器中任何不與其他應用程序共享的預編譯代碼必須存儲在應用程序的 \Bin 目錄中。它是應用程序的本地程序集緩存。Web.config 文件在基於 XML 的文本文件中存儲應用程序級的配置文件。這意味著可以使用任意標准的文本編輯器或 XML 分析器來創建它們,而且它們是可讀的。如果不在應用程序根目錄中包含 Web.config 文件,則配置設置由 Machine.config 文件中整個服務器的配置文件來確定。安裝 .Net Framework 時,會安裝 Machine.config 文件的某個版本。
下圖顯示了 ASP.Net 應用程序文件系統布局的示例。
本圖中的應用程序包括 \Bin 目錄中的兩個 DLL 文件、一個 Default.ASPx 頁,一個名為 Menu.ascx 的用戶控件、一個名為 MyWebService.asmx 的 XML Web 服務以及一個 Global.asax 文件。另外,該應用程序是使用下列三個配置文件配置的:系統根目錄中計算機級別的 Machine.config 文件、C:\Inetpub\Wwwroot 目錄中站點級別的 Web.config 文件和應用程序根目錄中應用程序級別的 Web.config 文件。當站點的 Web.config 文件覆蓋 Machine.config 文件中的設置時,在應用程序根目錄中存儲的配置設置將覆蓋站點的 Web.config 文件和 Machine.config 文件中的設置。