Procedura: avviare servizi

Nota

Questo articolo non si applica ai servizi ospitati in .NET. Per i contenuti più recenti sui servizi Windows che usano Microsoft.Extensions.Hosting.BackgroundService e il modello worker service, vedere:

Dopo l'installazione di un servizio, è necessario avviarlo. Con l'avvio viene chiamato il metodo OnStart per la classe del servizio. In genere, il metodo OnStart definisce le operazioni utili che verranno eseguite dal servizio. Dopo l'avvio, un servizio rimane attivo fino a quando non viene sospeso o arrestato manualmente.

I servizi possono essere configurati per l'avvio automatico o manuale. Un servizio con avvio automatico verrà avviato in seguito al riavvio o alla prima accensione del computer in cui è installato. Un utente deve avviare un servizio con avvio manuale.

Nota

Per impostazione predefinita, i servizi creati con Visual Studio vengono impostati per l'avvio manuale.

Esistono diversi modi per avviare manualmente un servizio, ovvero da Esplora server, da Gestione controllo servizi o dal codice usando un componente denominato ServiceController.

Per determinare se un servizio deve essere avviato manualmente o automaticamente, è possibile impostare la proprietà StartType per la classe ServiceInstaller.

Specificare come avviare un servizio

  1. Dopo aver creato il servizio, aggiungere i programmi di installazione necessari. Per altre informazioni, vedere Procedura: Aggiungere programmi di installazione all'applicazione di servizio.

  2. Nella finestra di progettazione fare clic sul programma di installazione per il servizio in uso.

  3. Nella finestra Proprietà impostare la proprietà StartType su uno dei valori seguenti:

    Per installare il servizio Impostare questo valore
    Al riavvio del computer Automatico
    Quando un'azione esplicita dell'utente avvia il servizio Manualee

    Suggerimento

    Per impedire del tutto l'avvio del servizio, è possibile impostare la proprietà StartType su Disabled. Ciò può essere utile se si prevede di dover riavviare un server più volte e si vuole risparmiare tempo evitando l'avvio dei servizi che verrebbero normalmente avviati.

    Nota

    Queste e altre proprietà possono essere modificate dopo l'installazione del servizio.

    Esistono diversi modi per avviare un servizio con il processo StartType impostato su Manual, ovvero da Esplora server, da Gestione controllo servizi o dal codice. È importante notare che non tutti questi metodi avviano effettivamente il servizio nel contesto di Gestione controllo servizi. Esplora server e i metodi a livello di codice di avvio del servizio modificano effettivamente il controller.

Avviare un servizio da Esplora server

  1. In Esplora server aggiungere il server desiderato, se non è già elencato. Per altre informazioni, vedere Procedura: Accedere e inizializzare Esplora server-Esplora database.

  2. Espandere il nodo Servizi e quindi individuare il servizio che si vuole avviare.

  3. Fare clic con il pulsante destro del mouse sul nome del servizio, quindi selezionare Avvia.

Avviare un servizio da Servizi

  1. Aprire l’app Servizi.

  2. Fare clic con il pulsante destro del mouse sul servizio dopo averlo selezionato nell'elenco, quindi selezionare Avvia.

Avviare un servizio dal codice

  1. Creare un'istanza della classe ServiceController e configurarla per interagire con il servizio che si vuole amministrare.

  2. Chiamare il metodo Start per avviare il servizio.

Vedi anche