Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial se muestra cómo crear un archivo de configuración para usarlo con las características de Hosted Web Core que están disponibles en IIS 7.
Al crear aplicaciones que usan la funcionalidad de Hosted Web Core en IIS 7, debe proporcionar un archivo de configuración personalizado que siga el formato del archivo ApplicationHost.config. En función de los valores de configuración, la aplicación puede hospedar páginas web y aplicaciones en el mismo servidor donde se hospedan sitios web que usan IIS 7. Por ejemplo, si el servidor web tiene solo un sitio web que sirve páginas web en el puerto TCP 80, puede configurar la aplicación para que sirva páginas web en el puerto TCP 8080.
Dado que la aplicación requiere un archivo de configuración personalizado, los sitios web y la aplicación Hosted Web Core no comparten la misma configuración de características. Por ejemplo, puede configurar los sitios web para implementar la funcionalidad dinámica que no requiere la aplicación, o puede configurar la aplicación para que requiera un método de autenticación específico que los sitios web no usen.
Aunque el archivo de ApplicationHost.config para IIS 7 puede contener más de un grupo de aplicaciones, la funcionalidad Hosted Web Core de IIS 7 solo admite un único grupo de aplicaciones.
Requisitos previos
El siguiente software es necesario para completar los pasos del ejemplo:
- IIS 7 en Windows Vista.
Nota
Aunque tendrá que ejecutar la aplicación Hosted Web Core en Windows Vista, no tiene que crear el archivo de configuración en Windows Vista. Puede crear el archivo de configuración en una versión diferente de Windows y, a continuación, copiar el archivo de configuración en un equipo que tenga Windows Vista instalado.
- Visual Studio 2005.
Nota
También puede usar Visual Studio .NET 2003 o versiones anteriores, aunque es posible que los pasos del tutorial no sean idénticos.
Crear un archivo de configuración
Los pasos de esta parte del tutorial le ayudarán a crear un nuevo archivo de configuración para su uso con una aplicación Hospedada web Core que contiene la configuración necesaria para servir contenido estático.
Para crear un archivo de configuración
Inicie Visual Studio 2005.
Cree un nuevo archivo de configuración:
En el menú Archivo , elija Nuevoy haga clic en Archivo.
Se abre el cuadro de diálogo Nuevo archivo .
En el panel Categorías , haga clic en General.
En el panel Plantillas , seleccione Archivo XML.
Haga clic en Abrir.
Se abrirá un nuevo archivo XML con el código XML siguiente:
<?xml version="1.0" encoding="UTF-8"?>
Para identificar este archivo XML como un archivo de configuración para la aplicación, agregue el siguiente código XML en el
<?xml?>elemento :<configuration> </configuration>
Definir las secciones de configuración
Cuando se haya creado el archivo de configuración, debe definir qué secciones de configuración contendrá el archivo de configuración. Para ello, agregue un <configSections> elemento al archivo de configuración.
Para agregar la <sección configSections>
Para crear la sección que define qué secciones contendrá el archivo de configuración, agregue el siguiente código XML dentro del
<configuration>elemento :<configSections> </configSections>Para definir qué información se incluirá en la
<system.applicationHost>sección, agregue el siguiente código XML dentro del<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>Para definir qué información se incluirá en la
<system.applicationHost>sección, agregue el código siguiente dentro del<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>
Adición de la <configuración system.applicationHost>
Cuando haya definido las secciones que contendrá el archivo de configuración, tendrá que rellenar las secciones de configuración con las opciones necesarias para la aplicación.
Para agregar la <sección system.applicationHost>
Para agregar la
<system.applicationHost>sección al archivo de configuración, agregue el siguiente código XML dentro del<configuration>elemento :<system.applicationHost> </system.applicationHost>Para crear un grupo de aplicaciones, agregue el código XML siguiente dentro del
<system.applicationHost>elemento :<applicationPools> <add name="TestAppPool" /> <applicationPoolDefaults> <processModel identityType="NetworkService" /> </applicationPoolDefaults> </applicationPools>Para definir un adaptador de agente de escucha para HTTP, agregue el siguiente código XML dentro del
<system.applicationHost>elemento :<listenerAdapters> <add name="http" /> </listenerAdapters>Para crear un sitio web, agregue el siguiente código XML dentro del
<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>
Nota
Puede cambiar las rutas de acceso de archivo y los enlaces de servidor en la configuración XML según corresponda para la aplicación.
Adición de la <configuración system.webServer>
Para agregar la <sección system.webServer>
Para agregar la
<system.webServer>sección al archivo de configuración, agregue el siguiente código XML dentro del<configuration>elemento :<system.webServer> </system.webServer>Para definir los módulos globales que usará la aplicación, agregue el siguiente código XML dentro del
<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>Para definir los controladores que usará la aplicación, agregue el siguiente código XML dentro del
<system.webServer>elemento :<handlers> <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> </handlers>Para definir los módulos que usará la aplicación, agregue el siguiente código XML dentro del
<system.webServer>elemento :<modules> <add name="DefaultDocumentModule" /> <add name="DirectoryListingModule" /> <add name="StaticFileModule" /> <add name="AnonymousAuthenticationModule" /> <add name="HttpLoggingModule" /> </modules>Para definir las opciones de exploración de directorios y registro HTTP, agregue el siguiente código XML dentro del
<system.webServer>elemento :<directoryBrowse enabled="true" /> <httpLogging dontLog="false" />Para habilitar un documento predeterminado, agregue el siguiente código XML dentro del
<system.webServer>elemento :<defaultDocument enabled="true"> <files> <add value="default.htm" /> </files> </defaultDocument>Para definir los tipos MIME que implementará la aplicación, agregue el siguiente código XML dentro del
<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>Nota
Puede agregar tipos MIME según corresponda para la aplicación agregando más
<mimeMap>elementos.Para definir las opciones de seguridad de la aplicación, agregue el siguiente código XML dentro del
<system.webServer>elemento :<security> <access flags="Read" sslFlags="None" /> <authentication> <anonymousAuthentication enabled="true" userName="IUSR" defaultLogonDomain="" /> </authentication> </security>Cuando haya completado todos los pasos anteriores, deberá guardar el archivo de configuración en una ruta de acceso en la que la aplicación Hosted Web Core podrá acceder a él.
La aplicación puede experimentar un error si una sección del archivo de configuración no se ha definido correctamente. Según el error, es posible que pueda recuperar información adicional sobre el problema examinando los registros de Visor de eventos del servidor y los archivos de registro de IIS creados automáticamente por la aplicación. Para obtener más información sobre cómo solucionar problemas con una aplicación de Hosted Web Core, consulte los pasos de solución de problemas que se enumeran en Tutorial: Creación de una aplicación web principal hospedada.
Consulte también
Creación de aplicaciones web principales hospedadas
Tutorial: Creación de una aplicación principal hospedada