HOW TO:在 IIS 中設定 HTTP 處理常式副檔名
更新:2007 年 11 月
根據預設,網際網路資訊服務 (IIS) 只會將特定檔案類型的要求傳遞給 ASP.NET 以提供服務。副檔名為 .aspx、asmx 和 .ashx 的檔案,已經對應至 ASP.NET ISAPI 擴充程式 (Aspnet_isapi.dll)。這適用於 IIS 6.0、以傳統模式 (Classic Mode) 執行的 IIS 7.0,以及以整合模式 (Integrated Mode) 執行之 IIS 7.0 中的 Managed 處理常式。
若要讓 IIS 將其他副檔名傳送至 ASP.NET,您必須在 IIS 中註冊副檔名。如需處理常式如何參與應用程式生命週期的詳細資訊,請參閱 IIS 5.0 和 6.0 的 ASP.NET 應用程式生命週期概觀或 IIS 7.0 的 ASP.NET 應用程式生命週期概觀。
若要對應 IIS 6.0 中的副檔名
開啟 IIS 管理員。
展開 Web 伺服器電腦的節點,接著展開 [網站],然後展開 [預設的網站]。
以滑鼠右鍵按一下應用程式的名稱,然後按一下 [屬性]。
注意事項: 如需建立 ASP.NET 應用程式的詳細資訊,請參閱 HOW TO:在 IIS 6.0 中建立和設定本機 ASP.NET 網站。
按一下 [虛擬目錄] 索引標籤,然後按一下 [組態]。
在 [對應] 索引標籤上,按一下 [加入]。
[新增/編輯應用程式副檔案名對應] 對話方塊隨即顯示。
在 [可執行檔] 方塊中,輸入或瀏覽至檔案 Aspnet_isapi.dll。根據預設,檔案位於下列位置:
%windows%\Microsoft.NET\Framework\version\
注意事項: 您可以從其他對應取得完整路徑和檔名,例如對應至 .aspx 檔案。
在 [副檔名] 方塊中,輸入副檔名,例如 .sample。
注意事項: 請確定包含點 (.),這是副檔名的一部分。
視副檔名在應用程式中所代表的意義,選取 [確認檔案存在] 核取方塊。選擇這些選項:
True. 副檔名代表應用程式中的實際檔案。在這個情況下,如果磁碟機上沒有要求的檔案,IIS 就會顯示錯誤。
False. 副檔名不代表實際檔案。副檔名是由對應至 ASP.NET 中副檔名的類別,動態進行處理。
按一下 [確定] 然後關閉 IIS 管理員。
若要對應以傳統模式執行的 IIS 7.0 中的副檔名
開啟 IIS 管理員。
注意事項: 在 和 Windows Server 2008 中,如果啟用使用者帳戶控制 (UAC) 功能,就會提示您繼續存取管理員。如需詳細資訊,請參閱使用者帳戶控制概觀 (英文)。
展開 Web 伺服器電腦的節點,接著展開 [網站],然後展開 [預設的網站]。
選取應用程式的節點。
[功能檢視] 窗格隨即顯示。
按兩下 [功能檢視] 中的 [處理常式對應]。
按一下 [執行] 窗格中的 [新增指令碼對應]。
[新增指令碼對應] 對話方塊隨即顯示。
在 [新增指令碼對應] 對話方塊中,指定下列項目:
要求路徑:要對應的檔案名稱或副檔名。
可執行檔:會處理要求的 .exe 或 .dll 檔案的路徑。若為傳統模式,指定 ASP.NET ISAPI 擴充程式 (Aspnet_isapi.dll)。
名稱:描述性的名稱。
按一下 [確定] 關閉 [新增指令碼對應] 對話方塊。
注意事項: 在 IIS 7.0 中使用 IIS 管理員加入自訂處理常式副檔名,就等於在 ASP.NET 應用程式的 Web.config 檔案中註冊處理常式副檔名。註冊會在 system.webServer 群組的 handlers 區段中加入 handler 項目。
開啟應用程式的 Web.config 檔。
找出 system.web 區段的 httpHandlers 項目,並加入副檔名的項目。
注意事項: 副檔名必須註冊在 httpHandlers 項目和 handlers 項目中。
若要對應以整合模式執行的 IIS 7.0 中的副檔名
遵循上一個程序的步驟 1 至 3。
按一下 [執行] 窗格中的 [新增 Managed 處理常式]。
[新增 Managed 處理常式] 對話方塊隨即顯示。
在 [新增 Managed 處理常式] 對話方塊中,指定下列項目:
要求路徑:要對應的檔案名稱或副檔名。
型別:Managed 處理常式的型別 (類別) 名稱。如果處理常式是在 ASP.NET 應用程式的 App_Code 資料夾中定義的,則其型別名稱會顯示在下拉式清單中。
名稱:描述性的名稱。
按一下 [確定] 關閉 [新增 Managed 處理常式] 對話方塊。
注意事項: 在 IIS 7.0 中使用 IIS 管理員加入自訂處理常式副檔名,就等於在 Web.config 檔案中註冊處理常式副檔名。
注意事項: 如果處理常式所服務的自訂擴充程式是在以整合模式執行的 IIS 7.0 中,則只需要在 handlers 項目中註冊。如果您也要將註冊保存在 httpHandlers 項目中,請在 system.webServer 區段中建立 validation 項目 (如果不存在),並將其 validateIntegratedModeConfiguration 屬性設定為 false。如需詳細資訊,請參閱 HOW TO:隱藏 IIS 7.0 註冊警告。