Gewusst wie: Konfigurieren des <system.webServer>-Abschnitts für IIS 7.0

Aktualisiert: November 2007

Im Abschnitt system.webServer der Datei Web.config werden IIS 7.0-Einstellungen festgelegt, die auf die Webanwendung angewendet werden. Der Abschnitt system.WebServer ist ein untergeordnetes Element des configuration-Abschnitts. Weitere Informationen finden Sie unter IIS 7.0: system.webServer-Abschnittsgruppe (IIS-Einstellungsschema) (möglicherweise in englischer Sprache).

Für Webservereinstellungen, die in der Konfigurationsgruppe system.WebServer festgelegt werden können, gibt es folgende Beispiele:

  • Das Standarddokument, das vom Webserver an einen Client zurückgegeben wird, wenn eine Anforderung keine bestimmte Ressource enthält (defaultDocument-Element).

  • Die Komprimierungseinstellungen für Antworten (httpCompression-Element).

  • Benutzerdefinierte Header (customHeaders-Element des Abschnitts httpProtocol).

  • Module (modules-Element).

  • Handler (handlers-Element).

Einige Einstellungen im Abschnitt system.webServer gelten nur für den integrierten Modus von IIS 7.0, jedoch nicht für den klassischen Modus. Wenn die Anwendung im klassischen Modus ausgeführt wird, werden beispielsweise im Abschnitt system.WebServer der Datei Web.config angegebene Module mit verwaltetem Code sowie Handler ignoriert. Stattdessen müssen Module mit verwaltetem Code sowie Handler wie bei früheren Versionen von IIS in den Elementen httpModules und httpHandlers des Abschnitts system.web definiert werden.

In diesem Thema werden drei allgemeine Konfigurationsaufgaben behandelt, bei denen Änderungen des Abschnitts system.webServer erforderlich sind:

  • Hinzufügen einer Standarddatei, damit eine Standarddatei bereitgestellt werden kann, wenn eine Anforderungs-URL keine bestimmte Dateiangabe enthält

  • Registrieren eines Moduls mit verwaltetem Code

  • Hinzufügen eines benutzerdefinierten Antwortheaders

Konfigurieren einer Standarddatei

IIS 7.0 stellt eine Standarddatei bereit, wenn in einer Anforderungs-URL nicht auf eine bestimmte Datei der Webanwendung verwiesen wird.

So konfigurieren Sie eine Standarddatei

  1. Wenn die Anwendung keine Web.config-Datei enthält, können Sie in Visual Studio oder mit einem Texteditor eine Datei erstellen.

    Weitere Informationen finden Sie unter Bearbeiten von ASP.NET-Konfigurationsdateien.

  2. Wenn die Web.config-Datei noch keinen system.webServer-Abschnitt enthält, erstellen Sie diese Datei innerhalb des configuration-Elements. Dies ist im folgenden Beispiel gezeigt:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Erstellen Sie innerhalb des Abschnitts system.webServer ein defaultDocument-Element.

  4. Erstellen Sie innerhalb des Abschnitts defaultDocument ein files-Element.

  5. Erstellen Sie innerhalb des files-Elements ein add-Element, und geben Sie im value-Attribut den Pfad und den Namen der Standarddatei an.

    Das folgende Beispiel zeigt einen system.webServer-Abschnitt, der konfiguriert wird, um die Datei Products.aspx als Standarddatei bereitzustellen.

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

Registrieren eines Moduls mit verwaltetem Code

Ein Modul mit verwaltetem Code wird bei jeder Anfrage aufgerufen und ermöglicht es Ihnen, die Anforderung oder die Antwort anzupassen.

So konfigurieren Sie ein benutzerdefiniertes Modul mit verwaltetem Code

  1. Wenn die Anwendung keine Web.config-Datei enthält, können Sie in Visual Studio oder mit einem Texteditor eine Datei erstellen.

    Weitere Informationen finden Sie unter Bearbeiten von ASP.NET-Konfigurationsdateien.

  2. Wenn die Web.config-Datei noch keinen system.webServer-Abschnitt enthält, erstellen Sie diese Datei innerhalb des configuration-Elements. Dies ist im folgenden Beispiel gezeigt:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Erstellen Sie innerhalb des system.webServer-Elements ein modules-Element.

  4. Erstellen Sie innerhalb des modules-Elements ein add-Element, und geben Sie in den Attributen name und type das benutzerdefinierte Modul an.

    Der tatsächliche Name und Typ hängen von dem Modul ab, das Sie hinzufügen. Das folgende Beispiel zeigt, wie Sie ein benutzerdefiniertes Modul mit dem Namen CustomModule hinzufügen, das mit dem Typ Samples.CustomModule implementiert wird.

    <configuration>
      <system.webServer>
        <modules>      <add name="CustomModule" type="Samples.CustomModule" />    </modules>
      </system.webServer>
    </configuration>
    
  5. Fügen Sie der Modulregistrierung ein precondition-Attribut hinzu, und setzen Sie den Wert auf managedHandler.

    Die Vorbedingung bewirkt, dass das Modul nur für Anforderungen an die ASP.NET-Anwendungsressourcen verwendet wird, z. B. ASPX-Dateien oder verwaltete Handler. Dies schließt statische Dateien wie HTM-Dateien aus.

    Der Konfigurationsabschnitt ähnelt dem folgenden Beispiel.

    <configuration>
      <system.webServer>
        <modules>
          <add name="CustomModule" type="Samples.CustomModule" 
               precondition="managedHandler" />
        </modules>
        <defaultDocument>
          <files>
            <add value="Products.aspx" />
          </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    

Konfigurieren eines benutzerdefinierten Antwortheaders

Mithilfe eines benutzerdefinierten Antwortheaders können Sie anwendungsspezifische Informationen an den Browser senden. Sie können z. B. einen Content-Language-Header hinzufügen, um die Sprache zu beschreiben, die für den Text auf der Webseite verwendet wird. Dabei geben Sie einen oder mehrere Werte für Sprache und Land/Region an, z. B. de-DE (Deutsch (Deutschland)) oder en-GB (Britisches Englisch).

So konfigurieren Sie einen benutzerdefinierten Antwortheader

  1. Wenn die Anwendung keine Web.config-Datei enthält, können Sie in Visual Studio oder mit einem Texteditor eine Datei erstellen.

    Weitere Informationen finden Sie unter Bearbeiten von ASP.NET-Konfigurationsdateien.

  2. Wenn die Web.config-Datei noch keinen system.webServer-Abschnitt enthält, erstellen Sie diese Datei innerhalb des configuration-Elements. Dies ist im folgenden Beispiel gezeigt:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Erstellen Sie innerhalb des system.webServer-Elements ein httpProtocol-Element.

  4. Erstellen Sie innerhalb des httpProtocol-Elements ein customHeaders-Element.

  5. Erstellen Sie innerhalb des customHeaders-Elements ein add-Tag, und geben Sie in den Attributen name und value eine Definition des benutzerdefinierten Headers an.

    Der tatsächliche Name und Wert hängen von der Funktion des Headers in der Anwendung ab. Das folgende Beispiel zeigt, wie Sie einen benutzerdefinierten Header mit dem Namen CustomHeader hinzufügen, der den Wert CustomHeader hat.

    <configuration>
      <system.webServer>
        <httpProtocol>      <customHeaders>        <add name="CustomHeader" value="CustomHeader" />      <customHeaders>    </httpProtocol>
      </system.webServer>
    </configuration>
    

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Konfigurieren von ASP.NET-Anwendungen in IIS 7.0

Konzepte

Verschieben einer ASP.NET-Anwendung von IIS 6.0 nach IIS 7.0

Referenz

configuration-Element (allgemeines Einstellungsschema)