Compartir a través de


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.

  1. 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).
  2. En el panel Conexiones, haga clic en el nombre del servidor.

  3. En el panel Inicio, haga doble clic en la característica Editor de configuración.
    Screenshot of Server Home pane displaying Configuration Editor selected.

  4. En el menú desplegable Sección, expanda system.applicationHosty, después, haga clic en serviceAutoStartProviders.
    Screenshot of Configuration Editor page showing system dot application Host tab expanded.

  5. Haga clic en los puntos suspensivos (...) situados a la derecha del campo (Colección).

  6. En el panel Acciones, haga clic en Agregar.

  7. 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.
      Screenshot of Collection Editor dialog box showing fields for name and managed type of auto start provider.
  8. 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:

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