Procedura: Creare servizi WindowsHow to: Create Windows Services

Quando si crea un servizio, è possibile usare un modello di progetto di Visual Studio denominato Servizio Windows.When you create a service, you can use a Visual Studio project template called Windows Service. Questo modello esegue automaticamente una buona parte del lavoro facendo riferimento alle classi e agli spazi dei nomi appropriati, impostando l'ereditarietà dalla classe di base per i servizi ed eseguendo l'override di molti metodi, quando occorre.This template automatically does much of the work for you by referencing the appropriate classes and namespaces, setting up the inheritance from the base class for services, and overriding several of the methods you're likely to want to override.

Avviso

Il modello di progetto Servizi Windows non è disponibile nell'edizione Express di Visual Studio.The Windows Services project template is not available in the Express edition of Visual Studio.

Per creare un servizio funzionale è necessario eseguire almeno le operazioni seguenti:At a minimum, to create a functional service you must:

  • Impostare la proprietà ServiceName.Set the ServiceName property.

  • Creare i programmi di installazione necessari per l'applicazione di servizio.Create the necessary installers for your service application.

  • Eseguire l'override e specificare il codice dei metodi OnStart e OnStop per personalizzare il comportamento del servizio.Override and specify code for the OnStart and OnStop methods to customize the ways in which your service behaves.

Per creare un'applicazione di servizio WindowsTo create a Windows Service application

  1. Creare un progetto Servizio Windows.Create a Windows Service project.

    Nota

    Per istruzioni sulla scrittura di un servizio senza l'uso del modello, vedere Procedura: Scrivere servizi a livello di codice.For instructions on writing a service without using the template, see How to: Write Services Programmatically.

  2. Nella finestra Proprietà impostare la proprietà ServiceName per il servizio.In the Properties window, set the ServiceName property for your service.

    Impostare la proprietà ServiceName.Set the ServiceName property.

    Nota

    Il valore della proprietà ServiceName deve sempre corrispondere al nome registrato nelle classi del programma di installazione.The value of the ServiceName property must always match the name recorded in the installer classes. Se questa proprietà viene modificata, sarà necessario aggiornare anche la proprietà ServiceName delle classi del programma di installazione.If you change this property, you must update the ServiceName property of installer classes as well.

  3. Per definire il funzionamento del servizio, impostare una delle proprietà seguenti.Set any of the following properties to determine how your service will function.

    ProprietàProperty ImpostazioneSetting
    CanStop True per indicare che il servizio accetta le richieste di interruzione dell'esecuzione; false per impedire l'interruzione del servizio.True to indicate that the service will accept requests to stop running; false to prevent the service from being stopped.
    CanShutdown True per indicare che il servizio richiede una notifica alla chiusura del computer su cui viene eseguito, consentendo la chiamata alla routine OnShutdown.True to indicate that the service wants to receive notification when the computer on which it lives shuts down, enabling it to call the OnShutdown procedure.
    CanPauseAndContinue True per indicare che il servizio accetta le richieste di sospensione o di ripresa dell'esecuzione; false per impedire la sospensione e la ripresa del servizio.True to indicate that the service will accept requests to pause or to resume running; false to prevent the service from being paused and resumed.
    CanHandlePowerEvent True per indicare che il servizio può gestire la notifica delle variazioni dello stato di alimentazione del computer; false per impedire al servizio di ricevere notifica di tali modifiche.True to indicate that the service can handle notification of changes to the computer's power status; false to prevent the service from being notified of these changes.
    AutoLog True per scrivere informazioni nel log eventi dell'applicazione quando il servizio esegue un'operazione; false per disabilitare questa funzionalità.True to write informational entries to the Application event log when your service performs an action; false to disable this functionality. Per altre informazioni, vedere Procedura: Registrare informazioni sui servizi.For more information, see How to: Log Information About Services. Nota: per impostazione predefinita, la proprietà AutoLog è impostata su true.Note: By default, AutoLog is set to true.

    Nota

    Quando l'oggetto CanStop o CanPauseAndContinue è impostato su false, Gestione controllo servizi disabiliterà le opzioni di menu corrispondenti per arrestare, sospendere o continuare il servizio.When CanStop or CanPauseAndContinue are set to false, the Service Control Manager will disable the corresponding menu options to stop, pause, or continue the service.

  4. Accedere all'editor di codice e definire il funzionamento desiderato per le routine OnStart e OnStop.Access the Code Editor and fill in the processing you want for the OnStart and OnStop procedures.

  5. Eseguire l'override di eventuali altri metodi per i quali si desidera definire la funzionalità.Override any other methods for which you want to define functionality.

  6. Aggiungere i programmi di installazione necessari per l'applicazione di servizio.Add the necessary installers for your service application. Per altre informazioni, vedere Procedura: Aggiungere programmi di installazione all'applicazione di servizio.For more information, see How to: Add Installers to Your Service Application.

  7. Compilare il progetto scegliendo Compila soluzione dal menu Compila.Build your project by selecting Build Solution from the Build menu.

    Nota

    Non è possibile eseguire un progetto di servizio premendo F5.Do not press F5 to run your project — you cannot run a service project in this way.

  8. Installare il servizio.Install the service. Per altre informazioni, vedere Procedura: Installare e disinstallare servizi.For more information, see How to: Install and Uninstall Services.

Vedere ancheSee also