Поделиться через


Пошаговое руководство. Создание файла конфигурации для размещенного веб-ядра

В этом пошаговом руководстве показано, как создать файл конфигурации для использования с функциями hosted Web Core, доступными в IIS 7.

При создании приложений, использующих функции Hosted Web Core в IIS 7, необходимо предоставить пользовательский файл конфигурации в формате файла ApplicationHost.config. В зависимости от параметров конфигурации приложение может размещать веб-страницы и приложения на том же сервере, где размещаются веб-сайты, использующие IIS 7. Например, если веб-сервер имеет только один веб-сайт, обслуживающий веб-страницы через TCP-порт 80, можно настроить приложение для обслуживания веб-страниц через TCP-порт 8080.

Так как приложению требуется пользовательский файл конфигурации, ваши веб-сайты и размещенное веб-приложение не имеют одинаковых параметров функций. Например, можно настроить веб-сайты для реализации динамических функций, которые не требуются приложению, или настроить приложение так, чтобы он требовал определенный метод проверки подлинности, который не используется веб-сайтами.

Несмотря на то, что файл ApplicationHost.config для IIS 7 может содержать несколько пулов приложений, функциональные возможности размещенных веб-ядер в IIS 7 поддерживают только один пул приложений.

Предварительные требования

Для выполнения действий, описанных в примере, требуется следующее программное обеспечение:

  • IIS 7 в Windows Vista.

Примечание

Хотя вам придется запускать приложение Hosted Web Core в Windows Vista, вам не нужно создавать файл конфигурации в Windows Vista. Вы можете создать файл конфигурации в другой версии Windows, а затем скопировать файл конфигурации на компьютер с установленной системой Windows Vista.

  • Visual Studio 2005.

Примечание

Вы также можете использовать Visual Studio .NET 2003 или более ранней версии, хотя пошаговые инструкции могут быть не идентичными.

Создание файла конфигурации

Действия, описанные в этой части пошагового руководства, помогут создать новый файл конфигурации для использования с приложением Hosted Web Core, содержащим параметры, необходимые для обслуживания статического содержимого.

Создание файла конфигурации

  1. Запустите Visual Studio 2005.

  2. Создайте новый файл конфигурации:

    1. В меню Файл укажите пункт Создать, а затем выберите пункт Файл.

      Откроется диалоговое окно Новый файл .

    2. В области Категории щелкните Общие.

    3. В области Шаблоны выберите XML-файл.

    4. Нажмите кнопку Открыть.

      Откроется новый XML-файл со следующим XML-кодом:

      <?xml version="1.0" encoding="UTF-8"?>  
      
  3. Чтобы определить этот XML-файл как файл конфигурации для приложения, добавьте следующий XML-код в элемент :<?xml?>

    <configuration>  
    
    </configuration>  
    

Описание разделов конфигурации

После создания файла конфигурации необходимо определить, какие разделы конфигурации будут содержаться в файле конфигурации. Для этого добавьте элемент в <configSections> файл конфигурации.

Добавление <раздела configSections>

  1. Чтобы создать раздел, определяющий, какие разделы будут содержаться в файле конфигурации, добавьте в элемент следующий XML-код <configuration> :

    <configSections>  
    
    </configSections>  
    
  2. Чтобы определить, какие сведения будут включены в <system.applicationHost> раздел, добавьте в элемент следующий XML-код <configSections> :

    <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. Чтобы определить, какие сведения будут включены в <system.applicationHost> раздел, добавьте в элемент следующий код <configSections> :

    <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>  
    

<Добавление параметров system.applicationHost>

Определив, какие разделы будут содержаться в файле конфигурации, необходимо заполнить разделы конфигурации необходимыми параметрами для приложения.

Добавление <раздела system.applicationHost>

  1. Чтобы добавить раздел в <system.applicationHost> файл конфигурации, добавьте в элемент следующий XML-код <configuration> :

    <system.applicationHost>  
    
    </system.applicationHost>  
    
  2. Чтобы создать пул приложений, добавьте следующий XML-код в элемент :<system.applicationHost>

    <applicationPools>  
        <add name="TestAppPool" />  
        <applicationPoolDefaults>  
            <processModel identityType="NetworkService" />  
        </applicationPoolDefaults>  
    </applicationPools>  
    
  3. Чтобы определить адаптер прослушивателя для HTTP, добавьте в элемент следующий XML-код <system.applicationHost> :

    <listenerAdapters>  
        <add name="http" />  
    </listenerAdapters>  
    
  4. Чтобы создать веб-сайт, добавьте следующий XML-код в элемент :<system.applicationHost>

    <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>  
    

Примечание

Вы можете изменить пути к файлам и привязки сервера в параметрах XML в соответствии с вашим приложением.

<Добавление параметров system.webServer>

Добавление <раздела system.webServer>

  1. Чтобы добавить раздел в <system.webServer> файл конфигурации, добавьте в элемент следующий XML-код <configuration> :

    <system.webServer>  
    
    </system.webServer>  
    
  2. Чтобы определить глобальные модули, которые будут использоваться приложением, добавьте в элемент следующий XML-код <system.webServer> :

    <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. Чтобы определить обработчики, которые будут использоваться приложением, добавьте следующий XML-код в <system.webServer> элемент :

    <handlers>  
        <add name="StaticFile" path="*" verb="*"  
            modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"  
            resourceType="Either" requireAccess="Read" />  
    </handlers>  
    
  4. Чтобы определить модули, которые будут использоваться приложением, добавьте в элемент следующий XML-код <system.webServer> :

    <modules>  
        <add name="DefaultDocumentModule" />  
        <add name="DirectoryListingModule" />  
        <add name="StaticFileModule" />  
        <add name="AnonymousAuthenticationModule" />  
        <add name="HttpLoggingModule" />  
    </modules>  
    
  5. Чтобы определить параметры просмотра каталога и ведения журнала HTTP, добавьте в элемент следующий XML-код <system.webServer> :

    <directoryBrowse enabled="true" />  
    <httpLogging dontLog="false" />  
    
  6. Чтобы включить документ по умолчанию, добавьте в элемент следующий XML-код <system.webServer> :

    <defaultDocument enabled="true">  
        <files>  
            <add value="default.htm" />  
        </files>  
    </defaultDocument>  
    
  7. Чтобы определить типы MIME, которые будут реализованы приложением, добавьте в элемент следующий XML-код <system.webServer> :

    <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>  
    

    Примечание

    Вы можете добавить типы MIME в соответствии с вашим приложением, добавив дополнительные <mimeMap> элементы.

  8. Чтобы определить параметры безопасности приложения, добавьте следующий XML-код в элемент :<system.webServer>

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

    После выполнения всех предыдущих шагов необходимо сохранить файл конфигурации по пути, по которому приложение Hosted Web Core сможет получить к нему доступ.

    Приложение может столкнуться с ошибкой, если раздел файла конфигурации не определен правильно. В зависимости от ошибки вы можете получить дополнительные сведения о проблеме, изучив журналы Просмотр событий сервера и файлы журналов IIS, которые автоматически создаются приложением. Дополнительные сведения об устранении неполадок с приложением Hosted Web Core см. в разделе Пошаговое руководство. Создание размещенного веб-основного приложения.

См. также:

Создание размещенных основных веб-приложений
Пошаговое руководство. Создание размещенного основного веб-приложения