Freigeben über


Anleitung: Erstellen einer Konfigurationsdatei für Hosted Web Core

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie eine Konfigurationsdatei für die Verwendung mit den gehosteten Web Core-Features erstellen, die in IIS 7 verfügbar sind.

Wenn Sie Anwendungen erstellen, die die Gehostete Web Core-Funktionalität in IIS 7 verwenden, müssen Sie eine benutzerdefinierte Konfigurationsdatei bereitstellen, die dem Format der ApplicationHost.config-Datei folgt. Je nach Ihren Konfigurationseinstellungen kann Ihre Anwendung Webseiten und Anwendungen auf demselben Server hosten, auf dem Sie Websites hosten, die IIS 7 verwenden. Wenn Ihr Webserver z. B. nur eine Website enthält, die Webseiten an TCP-Port 80 bedient, können Sie Ihre Anwendung so konfigurieren, dass Webseiten auf TCP-Port 8080 bereitgestellt werden.

Da Ihre Anwendung eine benutzerdefinierte Konfigurationsdatei erfordert, verwenden Ihre Websites und Ihre gehostete Web Core-Anwendung nicht dieselben Featureeinstellungen. Sie können beispielsweise Ihre Websites so konfigurieren, dass dynamische Funktionen implementiert werden, die von Ihrer Anwendung nicht benötigt werden, oder Sie können Ihre Anwendung so konfigurieren, dass eine bestimmte Authentifizierungsmethode erforderlich ist, die von Ihren Websites nicht verwendet wird.

Obwohl Ihre ApplicationHost.config-Datei für IIS 7 möglicherweise mehrere Anwendungspools enthält, unterstützt die Gehostete Web Core-Funktionalität in IIS 7 nur einen einzelnen Anwendungspool.

Voraussetzungen

Die folgende Software ist erforderlich, um die Schritte im Beispiel auszuführen:

  • IIS 7 unter Windows Vista.

Hinweis

Sie müssen ihre gehostete Web Core-Anwendung zwar unter Windows Vista ausführen, aber Sie müssen ihre Konfigurationsdatei unter Windows Vista nicht erstellen. Sie können Ihre Konfigurationsdatei in einer anderen Version von Windows erstellen und dann Ihre Konfigurationsdatei auf einen Computer kopieren, auf dem Windows Vista installiert ist.

  • Visual Studio 2005.

Hinweis

Sie können auch Visual Studio .NET 2003 oder früher verwenden, obwohl die exemplarischen Vorgehensweisen möglicherweise nicht identisch sind.

Erstellen einer Konfigurationsdatei

Die Schritte in diesem Teil der exemplarischen Vorgehensweise helfen Ihnen, eine neue Konfigurationsdatei für die Verwendung mit einer gehosteten Web Core-Anwendung zu erstellen, die die Einstellungen enthält, die zum Bereitstellen statischer Inhalte erforderlich sind.

So erstellen Sie eine Konfigurationsdatei

  1. Starten Sie Visual Studio 2005.

  2. Erstellen sie eine neue Konfigurationsdatei:

    1. Zeigen Sie im Menü "Datei" auf "Neu", und klicken Sie dann auf "Datei".

      Das Dialogfeld "Neue Datei " wird geöffnet.

    2. Klicken Sie im Bereich "Kategorien " auf "Allgemein".

    3. Wählen Sie im Bereich "Vorlagen " die Option "XML-Datei" aus.

    4. Klicken Sie auf Öffnen.

      Eine neue XML-Datei wird mit dem folgenden XML-Code geöffnet:

      <?xml version="1.0" encoding="UTF-8"?>  
      
  3. Um diese XML-Datei als Konfigurationsdatei für Ihre Anwendung zu identifizieren, fügen Sie den folgenden XML-Code unter dem <?xml?> Element hinzu:

    <configuration>  
    
    </configuration>  
    

Definieren der Konfigurationsabschnitte

Wenn die Konfigurationsdatei erstellt wurde, müssen Sie definieren, welche Konfigurationsabschnitte Ihre Konfigurationsdatei enthält. Dazu fügen Sie ihrer Konfigurationsdatei ein <configSections> Element hinzu.

So fügen Sie den <Abschnitt "configSections>" hinzu

  1. Um den Abschnitt zu erstellen, der definiert, welche Abschnitte Ihre Konfigurationsdatei enthalten soll, fügen Sie den folgenden XML-Code innerhalb des <configuration> Elements hinzu:

    <configSections>  
    
    </configSections>  
    
  2. Um zu definieren, welche Informationen in Ihrem <system.applicationHost> Abschnitt enthalten sein sollen, fügen Sie den folgenden XML-Code innerhalb des <configSections> Elements hinzu:

    <sectionGroup name="system.applicationHost"  
            type="System.ApplicationHost.Configuration.SystemApplicationHostSectionGroup">  
        <section name="applicationPools"  
                type="System.ApplicationHost.Configuration.ApplicationPoolsSection"  
                allowDefinition="MachineOnly"  
                overrideModeDefault="Deny" />  
        <section name="listenerAdapters"  
                type="System.ApplicationHost.Configuration.ListenerAdaptersSection"  
                allowDefinition="MachineOnly"  
                overrideModeDefault="Deny" />  
        <section name="log"  
                type="System.ApplicationHost.Configuration.LogSection"  
                allowDefinition="MachineOnly"  
                overrideModeDefault="Deny" />  
        <section name="sites"  
                type="System.ApplicationHost.Configuration.SitesSection"  
                allowDefinition="MachineOnly"  
                overrideModeDefault="Deny" />  
    </sectionGroup>  
    
  3. Um zu definieren, welche Informationen in Ihrem <system.applicationHost> Abschnitt enthalten sein sollen, fügen Sie den folgenden Code innerhalb des <configSections> Elements hinzu:

    <sectionGroup name="system.webServer"  
        type="System.WebServer.Configuration.SystemWebServerSectionGroup">  
        <section name="defaultDocument"  
            type="System.WebServer.Configuration.DefaultDocumentSection"  
            overrideModeDefault="Allow" />  
        <section name="directoryBrowse"  
            type="System.WebServer.Configuration.DirectoryBrowseSection"  
            overrideModeDefault="Allow" />  
        <section name="globalModules"  
            type="System.WebServer.Configuration.GlobalModulesSection"  
            allowDefinition="MachineOnly"  
            overrideModeDefault="Deny" />  
        <section name="handlers"  
            type="System.WebServer.Configuration.HandlersSection"  
            overrideModeDefault="Deny" />  
        <section name="httpLogging"  
            type="System.WebServer.Configuration.HttpLoggingSection"  
            overrideModeDefault="Deny" />  
        <section name="modules"  
            type="System.WebServer.Configuration.ModulesSection"  
            allowDefinition="MachineToApplication"  
            overrideModeDefault="Deny" />  
        <sectionGroup name="security"  
            type="System.WebServer.Configuration.SecuritySectionGroup">  
            <section name="access"  
                type="System.WebServer.Configuration.AccessSection"  
                overrideModeDefault="Deny" />  
            <sectionGroup name="authentication"  
                type="System.WebServer.Configuration.AuthenticationSectionGroup">  
                <section name="anonymousAuthentication"  
                    type="System.WebServer.Configuration.AnonymousAuthenticationSection"  
                    overrideModeDefault="Allow" />  
            </sectionGroup>  
        </sectionGroup>  
        <section name="staticContent"  
            type="System.WebServer.Configuration.StaticContentSection"  
            overrideModeDefault="Deny" />  
    </sectionGroup>  
    

Hinzufügen der <System.applicationHost-Einstellungen>

Wenn Sie definiert haben, welche Abschnitte Ihre Konfigurationsdatei enthält, müssen Sie die Konfigurationsabschnitte mit den erforderlichen Einstellungen für Ihre Anwendung auffüllen.

So fügen Sie den <Abschnitt "system.applicationHost> " hinzu

  1. Um den <system.applicationHost> Abschnitt zu Ihrer Konfigurationsdatei hinzuzufügen, fügen Sie den folgenden XML-Code innerhalb des <configuration> Elements hinzu:

    <system.applicationHost>  
    
    </system.applicationHost>  
    
  2. Fügen Sie zum Erstellen eines Anwendungspools den folgenden XML-Code innerhalb des <system.applicationHost> Elements hinzu:

    <applicationPools>  
        <add name="TestAppPool" />  
        <applicationPoolDefaults>  
            <processModel identityType="NetworkService" />  
        </applicationPoolDefaults>  
    </applicationPools>  
    
  3. Um einen Listeneradapter für HTTP zu definieren, fügen Sie den folgenden XML-Code innerhalb des <system.applicationHost> Elements hinzu:

    <listenerAdapters>  
        <add name="http" />  
    </listenerAdapters>  
    
  4. Fügen Sie zum Erstellen einer Website den folgenden XML-Code innerhalb des <system.applicationHost> Elements hinzu:

    <sites>  
        <site name="Test Web Site" id="1">  
            <application path="/">  
                <virtualDirectory path="/"  
                    physicalPath="D:\inetpub\TestPath\wwwroot" />  
            </application>  
            <bindings>  
                <binding protocol="HTTP" bindingInformation="*:8080:" />  
            </bindings>  
        </site>  
        <siteDefaults>  
            <logFile directory="D:\inetpub\TestPath\Logs" />  
        </siteDefaults>  
        <applicationDefaults applicationPool="TestAppPool" />  
        <virtualDirectoryDefaults allowSubDirConfig="true" />  
    </sites>  
    

Hinweis

Sie können die Dateipfade und Serverbindungen in den XML-Einstellungen entsprechend Ihrer Anwendung ändern.

Hinzufügen der <System.webServer-Einstellungen>

So fügen Sie den Abschnitt <"system.webServer"> hinzu

  1. Um den <system.webServer> Abschnitt zu Ihrer Konfigurationsdatei hinzuzufügen, fügen Sie den folgenden XML-Code innerhalb des <configuration> Elements hinzu:

    <system.webServer>  
    
    </system.webServer>  
    
  2. Um die globalen Module zu definieren, die ihre Anwendung verwenden wird, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <globalModules>  
        <add name="DefaultDocumentModule"  
            image="D:\Windows\system32\inetsrv\defdoc.dll" />  
        <add name="DirectoryListingModule"  
            image="D:\Windows\system32\inetsrv\dirlist.dll" />  
        <add name="StaticFileModule"  
            image="D:\Windows\system32\inetsrv\static.dll" />  
        <add name="AnonymousAuthenticationModule"  
            image="D:\Windows\system32\inetsrv\authanon.dll" />  
        <add name="HttpLoggingModule"  
            image="D:\Windows\system32\inetsrv\loghttp.dll" />  
    </globalModules>  
    
  3. Um die von der Anwendung verwendeten Handler zu definieren, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <handlers>  
        <add name="StaticFile" path="*" verb="*"  
            modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"  
            resourceType="Either" requireAccess="Read" />  
    </handlers>  
    
  4. Um die Module zu definieren, die ihre Anwendung verwenden wird, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <modules>  
        <add name="DefaultDocumentModule" />  
        <add name="DirectoryListingModule" />  
        <add name="StaticFileModule" />  
        <add name="AnonymousAuthenticationModule" />  
        <add name="HttpLoggingModule" />  
    </modules>  
    
  5. Fügen Sie den folgenden XML-Code innerhalb des Elements <system.webServer> hinzu, um die Optionen für das Durchsuchen des Verzeichnisses und die HTTP-Protokollierung zu definieren:

    <directoryBrowse enabled="true" />  
    <httpLogging dontLog="false" />  
    
  6. Um ein Standarddokument zu aktivieren, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <defaultDocument enabled="true">  
        <files>  
            <add value="default.htm" />  
        </files>  
    </defaultDocument>  
    
  7. Um die MIME-Typen zu definieren, die Ihre Anwendung implementiert, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <staticContent>  
        <mimeMap fileExtension=".gif" mimeType="image/gif" />  
        <mimeMap fileExtension=".htm" mimeType="text/html" />  
        <mimeMap fileExtension=".jpg" mimeType="image/jpeg" />  
        <mimeMap fileExtension=".txt" mimeType="text/plain" />  
    </staticContent>  
    

    Hinweis

    Sie können MIME-Typen entsprechend Ihrer Anwendung hinzufügen, indem Sie weitere <mimeMap> Elemente hinzufügen.

  8. Um die Sicherheitsoptionen Ihrer Anwendung zu definieren, fügen Sie den folgenden XML-Code innerhalb des <system.webServer> Elements hinzu:

    <security>  
        <access flags="Read" sslFlags="None" />  
        <authentication>  
            <anonymousAuthentication enabled="true"  
                userName="IUSR" defaultLogonDomain="" />  
        </authentication>  
    </security>  
    

    Wenn Sie alle vorherigen Schritte abgeschlossen haben, müssen Sie Ihre Konfigurationsdatei in einem Pfad speichern, in dem Ihre gehostete Web Core-Anwendung darauf zugreifen kann.

    Möglicherweise tritt bei Der Anwendung ein Fehler auf, wenn ein Abschnitt Ihrer Konfigurationsdatei nicht ordnungsgemäß definiert wurde. Je nach Fehler können Sie möglicherweise zusätzliche Informationen zum Problem abrufen, indem Sie die Ereignisanzeigeprotokolle des Servers und die IIS-Protokolldateien untersuchen, die von Ihrer Anwendung automatisch erstellt werden. Weitere Informationen zur Problembehandlung bei einer gehosteten Web Core-Anwendung finden Sie in den Schritten zur Problembehandlung, die in exemplarischer Vorgehensweise aufgeführt sind: Erstellen einer gehosteten Web Core-Anwendung.

Siehe auch

Erstellen gehosteter Web Core-Anwendungen
Exemplarische Vorgehensweise: Erstellen einer gehosteten Web Core-Anwendung