共用方式為


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 的 httpModuleshttpHandlers 項目 (屬於 system.web 區段) 中加以定義。

本主題說明需要對 system.webServer 區段進行修改的三項常見組態工作:

  • 加入預設檔案,如此在要求 URL 未包含特定檔案時,便會使用預設檔案。

  • 註冊 Managed 程式碼模組。

  • 加入自訂回應標頭。

設定預設檔

當要求 URL 未包含特定的 Web 應用程式檔案時,IIS 7.0 會使用預設檔。

若要設定預設檔

  1. 如果您的應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。

    如需詳細資訊,請參閱編輯 ASP.NET 組態檔

  2. 如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. 在 system.webServer 項目內建立 defaultDocument 項目。

  4. 在 defaultDocument 項目內建立 files 項目。

  5. 在 files 項目內建立 add 項目,並在 value 屬性中指定預設檔的路徑和名稱。

    下列範例說明已設為使用 Products.aspx 檔案做為預設檔的 system.webServer 區段。

    <configuration>
      <system.webServer>
        <defaultDocument>      <files>        <add value="Products.aspx" />      </files>    </defaultDocument>
      </system.webServer>
    </configuration>
    

註冊 Managed 程式碼模組

Managed 程式碼模組會在每次提出要求時叫用,以供您自訂要求或回應。

若要設定自訂 Managed 程式碼模組

  1. 如果應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。

    如需詳細資訊,請參閱編輯 ASP.NET 組態檔

  2. 如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. 在 system.webServer 項目內,建立一個 modules 項目。

  4. 在 modules 項目內建立 add 項目,並在 name 和 type 屬性中指定自訂模組。

    實際的名稱和類型視您加入的模組而定。下列範例示範如何加入名為 CustomModule 的自訂模組,此模組可實作為 Samples.CustomModule 型別。

    <configuration>
      <system.webServer>
        <modules>      <add name="CustomModule" type="Samples.CustomModule" />    </modules>
      </system.webServer>
    </configuration>
    
  5. 將 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 (英式英文)。

若要設定自訂回應標頭

  1. 如果您的應用程式中沒有 Web.config 檔案,請在 Visual Studio 中或是使用文字編輯器建立一個。

    如需詳細資訊,請參閱編輯 ASP.NET 組態檔

  2. 如果 Web.config 檔案中不含 system.webServer 區段,請在 configuration 項目中建立一個,如下列範例所示:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. 在 system.webServer 項目內,建立一個 httpProtocol 項目。

  4. 在 httpProtocol 項目內,建立一個 customHeaders 項目。

  5. 在 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

參考

configuration 項目 (一般設定結構描述)