HOW TO:設定 IIS 7.0 的 <system.webServer> 區段
更新:2007 年 11 月
Web.config 檔案中的 system.webServer 區段會指定套用到 Web 應用程式的 IIS 7.0 設定。system.WebServer 是 configuration 區段的子項。如需詳細資訊,請參閱 IIS 7.0: system.webServer 區段群組 (IIS 設定結構描述) (英文)。
下列為您可在 system.WebServer 組態群組中設定的 Web 伺服器設定範例:
當要求不包括特定資源 (defaultDocument 項目) 時,Web 伺服器傳回給用戶端的預設文件。
回應的壓縮設定 (httpCompression 項目)。
自訂標頭 (httpProtocol 區段的 customHeaders 項目)。
模組 (modules 項目)。
處理常式 (handlers 項目)。
system.webServer 區段中的某些設定僅適用於 IIS 7.0 整合模式,不適用於傳統模式。具體來說,如果應用程式在傳統模式下執行,則會忽略在 Web.config 檔案之 system.WebServer 區段中所指定的任何 Managed 程式碼模組與處理常式。反之,Managed 程式碼模組和處理常式必須在舊版 IIS 的 httpModules 和 httpHandlers 項目 (屬於 system.web 區段) 中加以定義。
本主題說明需要對 system.webServer 區段進行修改的三項常見組態工作:
加入預設檔案,如此在要求 URL 未包含特定檔案時,便會使用預設檔案。
註冊 Managed 程式碼模組。
加入自訂回應標頭。
設定預設檔
當要求 URL 未包含特定的 Web 應用程式檔案時,IIS 7.0 會使用預設檔。
若要設定預設檔
如果您的應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。
如需詳細資訊,請參閱編輯 ASP.NET 組態檔。
如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:
<configuration> <system.webServer> </system.webServer> </configuration>
在 system.webServer 項目內建立 defaultDocument 項目。
在 defaultDocument 項目內建立 files 項目。
在 files 項目內建立 add 項目,並在 value 屬性中指定預設檔的路徑和名稱。
下列範例說明已設為使用 Products.aspx 檔案做為預設檔的 system.webServer 區段。
<configuration> <system.webServer> <defaultDocument> <files> <add value="Products.aspx" /> </files> </defaultDocument> </system.webServer> </configuration>
註冊 Managed 程式碼模組
Managed 程式碼模組會在每次提出要求時叫用,以供您自訂要求或回應。
若要設定自訂 Managed 程式碼模組
如果應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。
如需詳細資訊,請參閱編輯 ASP.NET 組態檔。
如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:
<configuration> <system.webServer> </system.webServer> </configuration>
在 system.webServer 項目內,建立一個 modules 項目。
在 modules 項目內建立 add 項目,並在 name 和 type 屬性中指定自訂模組。
實際的名稱和類型視您加入的模組而定。下列範例示範如何加入名為 CustomModule 的自訂模組,此模組可實作為 Samples.CustomModule 型別。
<configuration> <system.webServer> <modules> <add name="CustomModule" type="Samples.CustomModule" /> </modules> </system.webServer> </configuration>
將 precondition 屬性加入至模組註冊,並將其值設為 managedHandler。
先前條件只會在對 ASP.NET 應用程式資源 (例如 .aspx 檔案或 Managed 處理常式) 提出要求時叫用模組,其中不包含像 .htm 檔案之類的靜態檔。
下列範例顯示類似的組態區段。
<configuration> <system.webServer> <modules> <add name="CustomModule" type="Samples.CustomModule" precondition="managedHandler" /> </modules> <defaultDocument> <files> <add value="Products.aspx" /> </files> </defaultDocument> </system.webServer> </configuration>
設定自訂回應標頭
自訂回應標頭可讓您將應用程式的特定資訊傳送至瀏覽器。例如,您可以加入 Content-Language 標頭,以描述 Web 網頁主體所使用的語言。若要這麼做,您必須提供一個或多個語言與國家/地區值,例如 en-US (美式英文) 或 en-GB (英式英文)。
若要設定自訂回應標頭
如果您的應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。
如需詳細資訊,請參閱編輯 ASP.NET 組態檔。
如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:
<configuration> <system.webServer> </system.webServer> </configuration>
在 system.webServer 項目內,建立一個 httpProtocol 項目。
在 httpProtocol 項目內,建立一個 customHeaders 項目。
在 customHeaders 項目內建立 add 標籤,並在 name 和 value 屬性中指定該標籤要定義自訂標頭。
實際的名稱和值取決於應用程式中的標頭功能。下列範例示範如何加入名為 CustomHeader 且包含 CustomHeader 值的自訂標頭。
<configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="CustomHeader" value="CustomHeader" /> <customHeaders> </httpProtocol> </system.webServer> </configuration>
請參閱
工作
逐步解說:在 IIS 7.0 中設定 ASP.NET 應用程式
概念
將 ASP.NET 應用程式從 IIS 6.0 移至 IIS 7.0