執行 ASP.NET 1.1 與 IIS 6.0
雖然 Windows Server 2003 同時包含 IIS 6.0 和 ASP.NET 1.1,但預設會停用這些元件。 本白皮書說明如何啟用 IIS 6.0 和 ASP.NET 1.1,並建議數個組態設定,以從 IIS 和 ASP.NET 取得最佳效能。
適用於 ASP.NET 1.1 和 IIS 6.0。
ASP.NET 1.1 隨附於 Windows Server 2003,其中也包含最新版本的 Internet Information Server (IIS) 6.0 版。 IIS 6.0 和 ASP.NET 1.1 的設計目的是要順暢地整合,而 ASP.NET 現在預設為新的 IIS 6.0 背景工作進程模型。
預設不會安裝 ASP.NET 1.1
不同於舊版 Microsoft 的伺服器操作系統,預設不會啟用 Internet Information Server (IIS) ;也不 ASP.NET 1.1。 啟用 IIS 有兩個選項:
啟用 IIS,選項 #1 - 設定伺服器精靈
Windows Server 2003 隨附新的「設定伺服器精靈」,以協助您以所需的模式正確設定伺服器。
若要啟動精靈 - 請注意,若要執行精靈,您必須以系統管理員身分登入 - 請移至:開始 |程式 |系統管理工具,然後選取 [設定您的伺服器]。
選取之後,您應該會看到 [設定伺服器精靈] 開啟畫面:
按兩下 [下一步 >] ':
按兩下 [下一步 >]
在此畫面上,您必須選取 [應用程式伺服器 (IIS],ASP.NET) 作为要设定的选项。
點選 [下一步 >] 。
選取將伺服器設定為應用程式伺服器之後,會顯示此畫面,提示應該安裝哪些其他功能。 預設不會選取任一選項。 若要自動啟用 ASP.NET,您必須選取 [啟用 ASP.NET]。
點選 [下一步 >] 。
此畫面會顯示要安裝的選項。
點選 [下一步 >] 。
當您選取的選項正在安裝時,您會看到此畫面。 通常會看到其他對話框顯示為正在安裝服務。 系統可能會另外提示您輸入 Windows 2003 Server 安裝 CD 的位置。
完成時,按兩下一步 >。
單擊 [完成] - Windows Server 2003 現在已設定為支援 IIS 6.0,ASP.NET 1.1。
啟用 IIS,選項 #2 - 手動設定 IIS 和 ASP.NET
如果您不想使用 「設定伺服器精靈」,您可以選擇性地從 控制台 安裝 IIS 6.0 並 ASP.NET 1.1。
首先開啟 控制台:
接下來,按兩下 [新增/移除 Windows 元件],這會開啟 [Windows 元件精靈]:
醒目提示並檢查 [應用程式伺服器],然後按兩下 [詳細數據?] 按鈕:
若要安裝 ASP.NET,請檢查 [ASP.NET]。
按兩下 [確定] 傳回 Windows 元件精靈。 從 Windows 元件精靈按兩下 [下一步 >] 開始安裝:
通常會看到其他對話框顯示為正在安裝服務。 系統可能會另外提示您輸入 Windows 2003 Server 安裝 CD 的位置。
安裝完成時,您會看到 Windows 元件精靈的最後一個畫面:
IIS 6.0 和 ASP.NET 1.1 現在已設定並可供使用。
建議的設定
使用 IIS 6.0 執行 ASP.NET 1.1 時,建議使用數個組態設定從 ASP.NET 取得最佳效能:
- 設定背景工作進程記憶體限制
- 設定背景工作進程回收
設定背景工作進程記憶體限制
根據預設,IIS 6.0 不會設定允許 IIS 使用的記憶體數量限制。 Asp。NET 的快取功能依賴記憶體的限制,讓快取可以主動從記憶體中移除未使用的專案。
建議您設定 IIS 6.0 的記憶體回收功能。 若要設定此開啟的 Internet Information Services Manager (Start |程式 |系統管理工具 |Internet Information Services) 。 開啟之後,展開 [應用程式集區] 資料夾:
針對每個應用程式集區:
- 以滑鼠右鍵按兩下應用程式集區,例如 'DefaultAppPool',然後選取 [屬性]:
- 接下來,按兩下 [最大使用的記憶體 (MB) :',以啟用記憶體回收。 此值不應超過伺服器上虛擬) 記憶體的實體 (數量,良好的近似值為 60% 的實體記憶體,例如,對於具有 512 MB 的實體記憶體的伺服器,請選取 310。 使用 2GB 位址空間時,也建議最大值不超過 800 MB。 如果伺服器的記憶體位址空間為 3GB,背景工作進程的最大記憶體限制可以高達 1,800MB:
按兩下 [套用] 和 [確定] 以結束 [屬性] 對話框。 針對所有可用的應用程式集區重複此動作。
設定背景工作回收
根據預設,IIS 6.0 會設定為每隔 29 小時回收其背景工作進程。 對於執行 ASP.NET 的應用程式而言,這有點積極,建議停用自動背景工作進程回收。
若要停用自動背景工作進程回收,請先開啟 Internet Information Services Manager (Start |程式 |系統管理工具 |Internet Information Services) 。 開啟之後,展開 [應用程式集區] 資料夾:
針對每個應用程式集區:
- 以滑鼠右鍵按兩下應用程式集區,例如 'DefaultAppPool',然後選取 [屬性]:
- 取消核取 [回收背景工作進程 (分鐘) :':
按兩下 [套用] 和 [確定] 以結束 [屬性] 對話框。 針對所有可用的應用程式集區重複此動作。
授與檔案系統的寫入許可權
如果您的應用程式需要檔案系統的寫入許可權,而且您使用NTFS時,您必須修改資料夾或檔案上的 存取控制清單 (ACL) ,以授與 ASP.NET 存取權。
例如,若要授與 ASP.NET c:\inetpub\wwwroot 的寫入許可權,請先開啟總管並流覽至目錄:
接下來,以滑鼠右鍵按兩下目錄,例如 『wwwroot』 並選取屬性。 屬性對話框開啟之後,選取 [安全性] 索引標籤:
c:\inetpub\wwwroot\ 目錄是特殊目錄,特殊 IIS 6.0 群組 'IIS_WPG' 已獲授與讀取 & 執行、列出資料夾內容和讀取許可權。 不過,若要授與寫入許可權,您必須按兩下 [寫入] 的 [允許] 複選框:
IIS 6.0 現在具有此資料夾的寫入許可權。 若要授與其他資料夾的寫入許可權,請遵循下列步驟 - 請注意,如果群組不存在,您可能需要新增IIS_WPG群組。
警告
授與寫入許可權給IIS_WPG將允許任何 ASP.NET 應用程式寫入此目錄。
支援與 SQL Server的整合式驗證
整合式驗證可讓 SQL Server 利用 Windows NT 驗證來驗證 SQL Server 登入帳戶。 這可讓使用者略過標準 SQL Server 登入程式。 透過這種方法,網路使用者可以存取 SQL Server 資料庫,而不需提供個別的登入識別或密碼,因為 SQL Server 從 Windows NT 網路安全性程式取得使用者和密碼資訊。
為 ASP.NET 應用程式選擇整合式驗證是不錯的選擇,因為不會將認證儲存在應用程式的 連接字串 內。 相反地,用來連線到 SQL 的 連接字串 如下所示:
"server=localhost; database=Northwind;Trusted_Connection=true"
此 連接字串 會告知 SQL Server 使用嘗試存取 SQL Server 之應用程式的 Windows 認證。 在 ASP.NET/IIS 6 的情況下,這會是IIS_WPG群組中的帳戶。
若要啟用 SQL Server 與 ASP.NET 之間的整合式驗證,您必須先確定已針對整合式驗證或 Mixed-Mode 驗證設定 SQL Server -請洽詢您的 DBA 來判斷此問題。 如果 SQL Server 處於這兩種模式之一,您可以使用整合式驗證。
開啟 SQL Server Enterprise Manager (Start |程式 |Microsoft SQL Server |Enterprise Manager) ,選取適當的伺服器,然後展開 [安全性] 資料夾:
如果未列出 'BUILTINT\IIS_WPG' 群組,請以滑鼠右鍵按兩下 [登入],然後選取 [新增登入]:
在 [名稱:] 文本框中,輸入 '[Server/Domain Name]\IIS_WPG',或按兩下省略號按鈕以開啟 Windows NT 使用者/群組選擇器:
選取目前計算機的IIS_WPG群組,然後按兩下 [新增],然後按兩下 [確定] 以關閉選擇器。
接著,您也需要設定預設資料庫和存取資料庫的許可權。 若要從下拉式清單中選擇預設資料庫,例如選取 [Northwind] 下方:
接下來,按兩下 [資料庫存取] 索引標籤:
針對您想要允許存取的每個資料庫,按兩下 [允許] 複選框。 您也需要選取資料庫角色,檢查db_owner可確保您的登入具有管理及使用所選資料庫的所有必要許可權。
按兩下 [確定] 結束屬性對話框。 您的 ASP.NET 應用程式現在已設定為支援整合式 SQL Server 驗證。
請勿在 IIS 6.0 原生模式中執行 ASP.NET 1.0
只有在 IIS 5 相容性模式中才支援 IIS 6.0 上的 ASP.NET 1.0。
若要將 ASP.NET 1.0 設定為以 IIS 5.0 相容性模式執行,請開啟 [因特網服務管理員],然後以滑鼠右鍵按兩下 [網站],然後選取 [屬性]:
切換至 [服務] 索引標籤並檢查 ?在 IIS 5.0 隔離模式中執行 WWW 服務?:
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應