Freigeben über


Exemplarische Vorgehensweise: 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. Abhängig von Ihren Konfigurationseinstellungen kann Ihre Anwendung Webseiten und Anwendungen auf demselben Server hosten, auf dem Sie Websites hosten, die IIS 7 verwenden. Wenn Ihr Webserver beispielsweise nur über eine Website verfügt, die Webseiten an TCP-Port 80 bereitstellt, können Sie Ihre Anwendung für die Bereitstellung von Webseiten an TCP-Port 8080 konfigurieren.

Da Ihre Anwendung eine benutzerdefinierte Konfigurationsdatei erfordert, verwenden Ihre Websites und Ihre gehostete Web Core-Anwendung nicht dieselben Featureeinstellungen. Beispielsweise können Sie Ihre Websites so konfigurieren, dass dynamische Funktionen implementiert werden, die für Ihre Anwendung nicht erforderlich sind, 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 mehr als einen Anwendungspool 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

Während Sie Ihre gehostete Web Core-Anwendung unter Windows Vista ausführen müssen, müssen Sie Ihre Konfigurationsdatei nicht unter Windows Vista erstellen. Sie können Ihre Konfigurationsdatei auf einer anderen Version von Windows erstellen und dann die 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 Schritte zur exemplarischen Vorgehensweise möglicherweise nicht identisch sind.

Erstellen einer Konfigurationsdatei

Die Schritte in diesem Teil der exemplarischen Vorgehensweise helfen Ihnen beim Erstellen einer neuen Konfigurationsdatei für die Verwendung mit einer gehosteten Web Core-Anwendung, 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 folgendem 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 enthalten soll. Dazu fügen Sie ihrer Konfigurationsdatei ein <configSections> -Element hinzu.

So fügen Sie den <Abschnitt configSections> hinzu

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

    <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 enthalten soll, 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 ihrer Konfigurationsdatei hinzuzufügen, fügen Sie den folgenden XML-Code innerhalb des <configuration> -Elements hinzu:

    <system.applicationHost>  
    
    </system.applicationHost>  
    
  2. Um einen Anwendungspool zu erstellen, fügen Sie 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. Um eine Website zu erstellen, fügen Sie 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 ihrer Konfigurationsdatei hinzuzufügen, fügen Sie den folgenden XML-Code innerhalb des <configuration> -Elements hinzu:

    <system.webServer>  
    
    </system.webServer>  
    
  2. Fügen Sie den folgenden XML-Code innerhalb <system.webServer> des -Elements hinzu, um die von Ihrer Anwendung verwendeten globalen Module zu definieren:

    <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. Fügen Sie den folgenden XML-Code innerhalb des -Elements hinzu, um die <system.webServer> von ihrer Anwendung verwendeten Handler zu definieren:

    <handlers>  
        <add name="StaticFile" path="*" verb="*"  
            modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"  
            resourceType="Either" requireAccess="Read" />  
    </handlers>  
    
  4. Fügen Sie den folgenden XML-Code in das -Element ein, um die Module zu definieren, die von Ihrer <system.webServer> Anwendung verwendet werden:

    <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 hinzu, um die Optionen zum Durchsuchen des Verzeichnisses und die <system.webServer> 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 implementieren soll, 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. Fügen Sie den folgenden XML-Code innerhalb des -Elements hinzu, um die <system.webServer> Sicherheitsoptionen Ihrer Anwendung zu definieren:

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

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

    Bei Ihrer Anwendung tritt möglicherweise ein Fehler auf, wenn ein Abschnitt Ihrer Konfigurationsdatei nicht ordnungsgemäß definiert wurde. Abhängig vom Fehler können Sie möglicherweise zusätzliche Informationen zum Problem abrufen, indem Sie die Ereignisanzeige Protokolle Ihres Servers und die IIS-Protokolldateien untersuchen, die automatisch von Ihrer Anwendung erstellt werden. Weitere Informationen zur Behandlung von Problemen mit einer gehosteten Web Core-Anwendung finden Sie in den Schritten zur Problembehandlung, die unter Exemplarische Vorgehensweise: Erstellen einer gehosteten Web Core-Anwendung aufgeführt sind.

Weitere Informationen

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