Пошаговое руководство. Создание файла конфигурации для размещенного веб-ядра
В этом пошаговом руководстве показано, как создать файл конфигурации для использования с функциями 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, содержащим параметры, необходимые для обслуживания статического содержимого.
Создание файла конфигурации
Запустите Visual Studio 2005.
Создайте новый файл конфигурации:
В меню Файл укажите пункт Создать, а затем выберите пункт Файл.
Откроется диалоговое окно Новый файл .
В области Категории щелкните Общие.
В области Шаблоны выберите XML-файл.
Нажмите кнопку Открыть.
Откроется новый XML-файл со следующим XML-кодом:
<?xml version="1.0" encoding="UTF-8"?>
Чтобы определить этот XML-файл как файл конфигурации для приложения, добавьте следующий XML-код в элемент :
<?xml?>
<configuration> </configuration>
Описание разделов конфигурации
После создания файла конфигурации необходимо определить, какие разделы конфигурации будут содержаться в файле конфигурации. Для этого добавьте элемент в <configSections>
файл конфигурации.
Добавление <раздела configSections>
Чтобы создать раздел, определяющий, какие разделы будут содержаться в файле конфигурации, добавьте в элемент следующий XML-код
<configuration>
:<configSections> </configSections>
Чтобы определить, какие сведения будут включены в
<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>
Чтобы определить, какие сведения будут включены в
<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>
Чтобы добавить раздел в
<system.applicationHost>
файл конфигурации, добавьте в элемент следующий XML-код<configuration>
:<system.applicationHost> </system.applicationHost>
Чтобы создать пул приложений, добавьте следующий XML-код в элемент :
<system.applicationHost>
<applicationPools> <add name="TestAppPool" /> <applicationPoolDefaults> <processModel identityType="NetworkService" /> </applicationPoolDefaults> </applicationPools>
Чтобы определить адаптер прослушивателя для HTTP, добавьте в элемент следующий XML-код
<system.applicationHost>
:<listenerAdapters> <add name="http" /> </listenerAdapters>
Чтобы создать веб-сайт, добавьте следующий 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>
Чтобы добавить раздел в
<system.webServer>
файл конфигурации, добавьте в элемент следующий XML-код<configuration>
:<system.webServer> </system.webServer>
Чтобы определить глобальные модули, которые будут использоваться приложением, добавьте в элемент следующий 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>
Чтобы определить обработчики, которые будут использоваться приложением, добавьте следующий XML-код в
<system.webServer>
элемент :<handlers> <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> </handlers>
Чтобы определить модули, которые будут использоваться приложением, добавьте в элемент следующий XML-код
<system.webServer>
:<modules> <add name="DefaultDocumentModule" /> <add name="DirectoryListingModule" /> <add name="StaticFileModule" /> <add name="AnonymousAuthenticationModule" /> <add name="HttpLoggingModule" /> </modules>
Чтобы определить параметры просмотра каталога и ведения журнала HTTP, добавьте в элемент следующий XML-код
<system.webServer>
:<directoryBrowse enabled="true" /> <httpLogging dontLog="false" />
Чтобы включить документ по умолчанию, добавьте в элемент следующий XML-код
<system.webServer>
:<defaultDocument enabled="true"> <files> <add value="default.htm" /> </files> </defaultDocument>
Чтобы определить типы 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>
элементы.Чтобы определить параметры безопасности приложения, добавьте следующий 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 см. в разделе Пошаговое руководство. Создание размещенного веб-основного приложения.
См. также:
Создание размещенных основных веб-приложений
Пошаговое руководство. Создание размещенного основного веб-приложения