Proveedores de inicio automático de servicio <serviceAutoStartProviders>
Información general
El elemento <serviceAutoStartProviders>
especifica una colección de ensamblados administrados que el Servicio de activación de procesos de Windows (WAS) cargará automáticamente cuando el atributo startMode
de un grupo de aplicaciones esté establecido en AlwaysRunning
. Esta colección permite a los desarrolladores especificar ensamblados que realizan tareas de inicialización antes de atender las solicitudes HTTP. Por ejemplo, un desarrollador de aplicaciones puede querer establecer las conexiones de base de datos iniciales para la aplicación antes de que IIS comience el procesamiento de solicitudes; esto permitirá a la aplicación realizar más rápido las solicitudes iniciales que necesitan recorridos de ida y vuelta hacia y desde una base de datos.
Para más información sobre cómo configurar grupos de aplicaciones para que se inicien automáticamente, vea el tema <applicationPools>
.
Nota:
Este elemento se introdujo en IIS 7.5.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <serviceAutoStartProviders> no se ha modificado en IIS 10.0. |
IIS 8.5 | El elemento <serviceAutoStartProviders> no se ha modificado en IIS 8.5. |
IIS 8.0 | El elemento <serviceAutoStartProviders> no se ha modificado en IIS 8.0. |
IIS 7.5 | El elemento <serviceAutoStartProviders> se introdujo en IIS 7.5. |
IIS 7.0 | N/D |
IIS 6,0 | N/D |
Configuración
El elemento <serviceAutoStartProviders>
se incluía en la instalación predeterminada de IIS 7.5.
Procedimientos
Procedimiento para configurar un proveedor de inicio automático de servicio
Nota:
No hay ninguna interfaz de usuario directa que le permita configurar el elemento <serviceAutoStartProviders>
; por tanto, en los pasos siguientes se usará la característica Editor de configuración de IIS.
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, después, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- Haga clic en Herramientas administrativas y, después, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, después, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y luego en Panel de control.
- Haga doble clic en Herramientas administrativas y después en Administrador de Internet Information Services (IIS).
En el panel Conexiones, haga clic en el nombre del servidor.
En el panel Inicio, haga doble clic en la característica Editor de configuración.
En el menú desplegable Sección, expanda system.applicationHosty, después, haga clic en serviceAutoStartProviders.
Haga clic en los puntos suspensivos (...) situados a la derecha del campo (Colección).
En el panel Acciones, haga clic en Agregar.
Cuando aparezca el cuadro de diálogo Editor de colecciones:
- Escriba el nombre del proveedor de inicio automático en el campo nombre. Por ejemplo:
"MyAutostartProvider" - Escriba el tipo administrado del ensamblado de inicio automático en el campo tipo. Por ejemplo:
"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" - Cierre el cuadro de diálogo Editor de colecciones.
- Escriba el nombre del proveedor de inicio automático en el campo nombre. Por ejemplo:
En el panel Acciones, haga clic en Aplicar.
Nota:
Esta sección contiene información sobre cómo modificar los valores de IIS mediante el Editor de configuración de IIS. La edición incorrecta de los valores de configuración de IIS puede dañar gravemente la instalación de IIS. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para mayor seguridad, debe realizar una copia de seguridad de los valores de configuración de IIS antes de usar el Editor de configuración de IIS para realizar cualquier modificación. Para más información sobre cómo realizar una copia de seguridad de los valores de configuración de IIS y cómo usar el Editor de configuración de IIS, vea los temas siguientes:
- Procedimiento para hacer una copia de seguridad de una configuración de IIS 7
https://technet.microsoft.com/library/dd819406.aspx - Página Editor de configuración
https://technet.microsoft.com/library/dd569081.aspx
Configuración
El elemento <serviceAutoStartProviders>
se configura en el nivel global en el archivo ApplicationHost.config.
Atributos
Ninguno.
Elementos secundarios
Elemento | Descripción |
---|---|
add |
Elemento opcional. Agrega un proveedor a la colección de proveedores de inicio automático. |
clear |
Elemento opcional. Borra la colección de proveedores de inicio automático. |
remove |
Elemento opcional. Quita un proveedor de la colección de proveedores de inicio automático. |
Ejemplo de configuración
En el ejemplo siguiente se muestra un elemento <serviceAutoStartProviders>
que agrega un proveedor de inicio automático personalizado a la colección.
<serviceAutoStartProviders>
<add name="MyAutostartProvider" type="MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" />
</serviceAutoStartProviders>
Código de ejemplo
En los ejemplos siguientes se agrega un proveedor de ejemplo a la colección de proveedores de inicio automático.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /+"[name='MyAutostartProvider',type='MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73']" /commit:apphost
Nota:
Debe asegurarse de establecer el parámetrocommit en apphost
cuando use AppCmd.exe para configurar estos valores. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serviceAutoStartProvidersSection = config.GetSection("system.applicationHost/serviceAutoStartProviders");
ConfigurationElementCollection serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.GetCollection();
ConfigurationElement addElement = serviceAutoStartProvidersCollection.CreateElement("add");
addElement["name"] = @"MyAutostartProvider";
addElement["type"] = @"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim serviceAutoStartProvidersSection As ConfigurationSection = config.GetSection("system.applicationHost/serviceAutoStartProviders")
Dim serviceAutoStartProvidersCollection As ConfigurationElementCollection = serviceAutoStartProvidersSection.GetCollection
Dim addElement As ConfigurationElement = serviceAutoStartProvidersCollection.CreateElement("add")
addElement("name") = "MyAutostartProvider"
addElement("type") = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST");
var serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection;
var addElement = serviceAutoStartProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "MyAutostartProvider";
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST")
Set serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection
Set addElement = serviceAutoStartProvidersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "MyAutostartProvider"
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.AddElement(addElement)
adminManager.CommitChanges()