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.
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).
Nel riquadro Connessioni fare clic sul nome del server.
Nel riquadro Home fare doppio clic sulla funzionalità Editor di configurazione .
Nel menu a discesa Sezione espandere system.applicationHost e quindi fare clic su serviceAutoStartProviders.
Fare clic sui puntini di sospensione (...) sul lato destro del campo (Raccolta).
Nel riquadro Azioni fare clic su Aggiungi.
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.
- Immettere il nome del provider di avvio automatico nel campo nome . Ad esempio:
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:
- Come eseguire il backup di una configurazione IIS 7
https://technet.microsoft.com/library/dd819406.aspx - Pagina Editor configurazione
https://technet.microsoft.com/library/dd569081.aspx
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()