Compartilhar via


Passo a passo: criando um arquivo de configuração para o Web Core hospedado

Este passo a passo demonstra como criar um arquivo de configuração para uso com os recursos do Hosted Web Core que estão disponíveis no IIS 7.

Ao criar aplicativos que usam a funcionalidade do Web Core hospedado no IIS 7, você precisa fornecer um arquivo de configuração personalizado que siga o formato do arquivo ApplicationHost.config. Dependendo das configurações, seu aplicativo pode hospedar páginas da Web e aplicativos no mesmo servidor em que você está hospedando sites que usam o IIS 7. Por exemplo, se o servidor Web tiver apenas um site que esteja servindo páginas da Web na porta TCP 80, você poderá configurar seu aplicativo para servir páginas da Web na porta TCP 8080.

Como seu aplicativo requer um arquivo de configuração personalizado, seus sites e seu aplicativo Web Core hospedado não compartilham as mesmas configurações de recurso. Por exemplo, você pode configurar seus sites para implementar a funcionalidade dinâmica que não é exigida pelo aplicativo ou configurar seu aplicativo para exigir um método de autenticação específico que não seja usado por seus sites.

Embora o arquivo de ApplicationHost.config do IIS 7 possa conter mais de um pool de aplicativos, a funcionalidade Do Web Core Hospedado no IIS 7 dá suporte a apenas um único pool de aplicativos.

Pré-requisitos

O seguinte software é necessário para concluir as etapas no exemplo:

  • IIS 7 no Windows Vista.

Observação

Embora você precise executar seu aplicativo Web Core hospedado no Windows Vista, não é necessário criar o arquivo de configuração no Windows Vista. Você pode criar o arquivo de configuração em uma versão diferente do Windows e copiar o arquivo de configuração para um computador que tenha o Windows Vista instalado.

  • Visual Studio 2005.

Observação

Você também pode usar o Visual Studio .NET 2003 ou anterior, embora as etapas passo a passo possam não ser idênticas.

Como criar um arquivo de configuração

As etapas nesta parte do passo a passo ajudarão você a criar um novo arquivo de configuração para uso com um aplicativo Hosted Web Core que contém as configurações necessárias para fornecer conteúdo estático.

Para criar um arquivo de configuração

  1. Inicie o Visual Studio 2005.

  2. Crie um novo arquivo de configuração:

    1. No menu Arquivo , aponte para Novoe clique em Arquivo.

      A caixa de diálogo Novo Arquivo é aberta.

    2. No painel Categorias , clique em Geral.

    3. No painel Modelos , selecione Arquivo XML.

    4. Clique em Abrir.

      Um novo arquivo XML será aberto com o seguinte código XML:

      <?xml version="1.0" encoding="UTF-8"?>  
      
  3. Para identificar esse arquivo XML como um arquivo de configuração para seu aplicativo, adicione o seguinte código XML sob o <?xml?> elemento :

    <configuration>  
    
    </configuration>  
    

Definindo as seções de configuração

Quando o arquivo de configuração tiver sido criado, você precisará definir quais seções de configuração seu arquivo de configuração conterá. Faça isso adicionando um <configSections> elemento ao arquivo de configuração.

Para adicionar a <seção configSections>

  1. Para criar a seção que define quais seções o arquivo de configuração conterá, adicione o seguinte código XML dentro do <configuration> elemento :

    <configSections>  
    
    </configSections>  
    
  2. Para definir quais informações serão incluídas em sua <system.applicationHost> seção, adicione o seguinte código XML dentro do <configSections> elemento :

    <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. Para definir quais informações serão incluídas em sua <system.applicationHost> seção, adicione o seguinte código dentro do <configSections> elemento :

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

Adicionando as <configurações system.applicationHost>

Quando você tiver definido quais seções seu arquivo de configuração conterá, você precisará preencher as seções de configuração com as configurações necessárias para seu aplicativo.

Para adicionar a <seção system.applicationHost>

  1. Para adicionar a <system.applicationHost> seção ao arquivo de configuração, adicione o seguinte código XML dentro do <configuration> elemento :

    <system.applicationHost>  
    
    </system.applicationHost>  
    
  2. Para criar um pool de aplicativos, adicione o seguinte código XML dentro do <system.applicationHost> elemento :

    <applicationPools>  
        <add name="TestAppPool" />  
        <applicationPoolDefaults>  
            <processModel identityType="NetworkService" />  
        </applicationPoolDefaults>  
    </applicationPools>  
    
  3. Para definir um adaptador de ouvinte para HTTP, adicione o seguinte código XML dentro do <system.applicationHost> elemento :

    <listenerAdapters>  
        <add name="http" />  
    </listenerAdapters>  
    
  4. Para criar um site, adicione o seguinte código XML dentro do <system.applicationHost> elemento :

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

Observação

Você pode alterar os caminhos de arquivo e as associações de servidor nas configurações XML conforme apropriado para seu aplicativo.

Adicionando as <configurações system.webServer>

Para adicionar a <seção system.webServer>

  1. Para adicionar a <system.webServer> seção ao arquivo de configuração, adicione o seguinte código XML dentro do <configuration> elemento :

    <system.webServer>  
    
    </system.webServer>  
    
  2. Para definir os módulos globais que seu aplicativo usará, adicione o seguinte código XML dentro do <system.webServer> elemento :

    <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. Para definir os manipuladores que seu aplicativo usará, adicione o seguinte código XML dentro do <system.webServer> elemento :

    <handlers>  
        <add name="StaticFile" path="*" verb="*"  
            modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"  
            resourceType="Either" requireAccess="Read" />  
    </handlers>  
    
  4. Para definir os módulos que seu aplicativo usará, adicione o seguinte código XML dentro do <system.webServer> elemento :

    <modules>  
        <add name="DefaultDocumentModule" />  
        <add name="DirectoryListingModule" />  
        <add name="StaticFileModule" />  
        <add name="AnonymousAuthenticationModule" />  
        <add name="HttpLoggingModule" />  
    </modules>  
    
  5. Para definir as opções de navegação de diretório e registro em log HTTP, adicione o seguinte código XML dentro do <system.webServer> elemento :

    <directoryBrowse enabled="true" />  
    <httpLogging dontLog="false" />  
    
  6. Para habilitar um documento padrão, adicione o seguinte código XML dentro do <system.webServer> elemento :

    <defaultDocument enabled="true">  
        <files>  
            <add value="default.htm" />  
        </files>  
    </defaultDocument>  
    
  7. Para definir os tipos MIME que seu aplicativo implementará, adicione o seguinte código XML dentro do <system.webServer> elemento :

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

    Observação

    Você pode adicionar tipos MIME conforme apropriado para seu aplicativo adicionando mais <mimeMap> elementos.

  8. Para definir as opções de segurança do aplicativo, adicione o seguinte código XML dentro do <system.webServer> elemento :

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

    Quando tiver concluído todas as etapas anteriores, você precisará salvar o arquivo de configuração em um caminho em que o aplicativo Web Core Hospedado poderá acessá-lo.

    Seu aplicativo poderá sofrer um erro se uma seção do arquivo de configuração não tiver sido definida corretamente. Dependendo do erro, você poderá recuperar informações adicionais sobre o problema examinando os logs de Visualizador de Eventos do servidor e os arquivos de log do IIS criados automaticamente pelo aplicativo. Para obter mais informações sobre como solucionar problemas com um aplicativo Web Core hospedado, consulte as etapas de solução de problemas listadas em Passo a passo: criando um aplicativo Web Core hospedado.

Consulte Também

Criando aplicativos Web Core hospedados
Passo a passo: criando um aplicativo Web Core hospedado