Condividi tramite


Service Autostart Provider <serviceAutoStartProviders>

Panoramica

L'elemento <serviceAutoStartProviders> specifica una raccolta di assembly gestiti che windows Process Activation Service (WAS) verrà caricato automaticamente quando l'attributo startMode di un pool di applicazioni è impostato su AlwaysRunning. Questa raccolta consente agli sviluppatori di specificare assembly che eseguono attività di inizializzazione prima che vengano eseguite richieste HTTP. Ad esempio, uno sviluppatore di applicazioni può voler stabilire l'connessioni alle banche dati iniziale per l'applicazione prima che IIS inizi l'elaborazione delle richieste. In questo modo l'applicazione potrà eseguire più velocemente per le richieste iniziali che richiedono round trip da e verso un database.

Per altre informazioni su come configurare i pool di applicazioni per avviare automaticamente, vedere l'argomento <applicationPools> .

Nota

Questo elemento è stato introdotto in IIS 7.5.

Compatibilità

Versione Note
IIS 10.0 L'elemento <serviceAutoStartProviders> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <serviceAutoStartProviders> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <serviceAutoStartProviders> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <serviceAutoStartProviders> è stato introdotto in IIS 7.5.
IIS 7.0 N/D
IIS 6.0 N/D

Installazione

L'elemento <serviceAutoStartProviders> è incluso nell'installazione predefinita di IIS 7.5.

Procedure

Come configurare un provider di avvio automatico del servizio

Nota

Non esiste un'interfaccia utente diretta che consente di configurare l'elemento <serviceAutoStartProviders> , pertanto la procedura seguente userà la funzionalità Editor configurazione IIS.

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni fare clic sul nome del server.

  3. Nel riquadro Home fare doppio clic sulla funzionalità Editor di configurazione .
    Screenshot del riquadro Home server che visualizza l'editor di configurazione selezionato.

  4. Nel menu a discesa Sezione espandere system.applicationHost e quindi fare clic su serviceAutoStartProviders.
    Screenshot della pagina Editor di configurazione che mostra la scheda Host dell'applicazione punto di sistema espansa.

  5. Fare clic sui puntini di sospensione (...) sul lato destro del campo (Raccolta).

  6. Nel riquadro Azioni fare clic su Aggiungi.

  7. Quando viene visualizzata la finestra di dialogo Editor raccolta:

    • Immettere il nome del provider di avvio automatico nel campo nome . Ad esempio:
      "MyAutostartProvider"
    • Immettere il tipo gestito dell'assembly di avvio automatico nel campo tipo . Ad esempio:
      "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
    • Chiudere la finestra di dialogo Editor raccolta.
      Screenshot della finestra di dialogo Editor raccolta che mostra i campi per il nome e il tipo gestito di provider di avvio automatico.
  8. Nel riquadro Azioni fare clic su Applica.

Nota

Questa sezione contiene informazioni su come modificare le impostazioni IIS usando l'editor di configurazione IIS. La modifica errata delle impostazioni di configurazione IIS può danneggiare gravemente l'installazione di IIS. Verificare quindi di attenersi attentamente alla procedura. Per la sicurezza aggiunta, è necessario eseguire il backup delle impostazioni di configurazione IIS prima di usare l'editor di configurazione IIS per apportare eventuali modifiche. Per altre informazioni su come eseguire il backup delle impostazioni di configurazione IIS e su come usare l'editor di configurazione IIS, vedere gli argomenti seguenti:

Configurazione

L'elemento <serviceAutoStartProviders> è configurato a livello globale nel file ApplicationHost.config.

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
add Elemento facoltativo.

Aggiunge un provider alla raccolta di provider di avvio automatico.
clear Elemento facoltativo.

Cancella la raccolta di provider di avvio automatico.
remove Elemento facoltativo.

Rimuove un provider dalla raccolta di provider di avvio automatico.

Esempio di configurazione

Nell'esempio seguente viene visualizzato un <serviceAutoStartProviders> elemento che aggiunge un provider di avvio automatico personalizzato alla raccolta.

<serviceAutoStartProviders>
   <add name="MyAutostartProvider" type="MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" />
</serviceAutoStartProviders>

Codice di esempio

Gli esempi seguenti aggiungono un provider di esempio alla raccolta di provider di avvio automatico.

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

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. Questa operazione esegue il commit delle impostazioni di configurazione nella sezione percorso appropriata nel file di 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()