Condividi tramite


Procedura: Creare servizi Windows

Annotazioni

Questo articolo non si applica ai servizi ospitati in .NET. Per il contenuto più recente nei servizi Windows che usano Microsoft.Extensions.Hosting.BackgroundService e il modello di servizio di lavoro, vedere:

Quando si crea un servizio, è possibile usare un modello di progetto di Visual Studio denominato Servizio Windows. Questo modello automatizza gran parte del lavoro per te, facendo riferimento alle classi e ai namespace appropriati, configurando l'ereditarietà dalla classe base per i servizi e sovrascrivendo diversi metodi che probabilmente desidererai modificare.

Avviso

Il modello di progetto Servizi Windows non è disponibile nell'edizione Express di Visual Studio.

Per creare almeno un servizio funzionale, è necessario:

  • Imposta la proprietà ServiceName.

  • Creare i programmi di installazione necessari per l'applicazione di servizio.

  • Eseguire l'override e specificare il codice per i metodi OnStart e OnStop per personalizzare le modalità di comportamento del tuo servizio.

Per creare un'applicazione del servizio Windows

  1. Creare un progetto di servizio Windows .

    Annotazioni

    Per istruzioni sulla scrittura di un servizio senza usare il modello, vedere Procedura: Scrivere servizi a livello di codice.

  2. Nella finestra Proprietà impostare la proprietà per il ServiceName servizio.

    Impostare la proprietà ServiceName.

    Annotazioni

    Il valore della ServiceName proprietà deve corrispondere sempre al nome registrato nelle classi del programma di installazione. Se si modifica questa proprietà, è necessario aggiornare anche la ServiceName proprietà delle classi del programma di installazione.

  3. Impostare una delle proprietà seguenti per determinare il funzionamento del servizio.

    Proprietà Impostazione
    CanStop True per indicare che il servizio accetterà le richieste di interruzione dell'esecuzione; false per impedire l'interruzione del servizio.
    CanShutdown True per indicare che il servizio desidera ricevere una notifica quando il computer su cui risiede si spegne, permettendogli di chiamare la procedura OnShutdown.
    CanPauseAndContinue True per indicare che il servizio accetterà le richieste di sospendere o riprendere l'esecuzione; false per impedire che il servizio venga sospeso e ripreso.
    CanHandlePowerEvent True per indicare che il servizio può gestire la notifica delle modifiche apportate allo stato di alimentazione del computer; false per impedire che il servizio venga informato di queste modifiche.
    AutoLog True per scrivere voci informative nel registro eventi dell'applicazione quando il servizio esegue un'azione; false per disabilitare questa funzionalità. Per altre informazioni, vedere Procedura: Registrare informazioni sui servizi. Nota: Per impostazione predefinita, AutoLog è impostato su true.

    Annotazioni

    Quando CanStop o CanPauseAndContinue sono impostati su false, Gestione controllo servizi disabiliterà le opzioni di menu corrispondenti per arrestare, sospendere o continuare il servizio.

  4. Accedere all'editor del codice e inserire l'elaborazione desiderata per le procedure OnStart e OnStop.

  5. Esegui l'override di qualsiasi altro metodo per cui desideri definire la funzionalità.

  6. Aggiungi i programmi di installazione necessari per l'applicazione di servizio. Per altre informazioni, vedere Procedura: Aggiungere programmi di installazione all'applicazione di servizio.

  7. Compilare il progetto selezionando Compila soluzione dal menu Compila .

    Annotazioni

    Non premere F5 per eseguire il progetto. In questo modo non è possibile eseguire un progetto di servizio.

  8. Installare il servizio. Per altre informazioni, vedere Procedura: Installare e disinstallare i servizi.

Vedere anche