Condividi tramite


Introduzione alla comunicazione con i servizi esistenti

Aggiornamento: novembre 2007

È possibile utilizzare il componente ServiceController per connettersi ai servizi esistenti e controllarne il comportamento. Quando si crea un'istanza del componente ServiceController, questa viene impostata per l'interazione con uno specifico servizio Windows. È quindi possibile utilizzare l'istanza del componente per avviare, interrompere e modificare in altro modo il servizio. È ad esempio possibile creare un componente ServiceController e utilizzarlo con un componente Timer per avviare e arrestare un servizio in base a un intervallo di tempo.

Il componente ServiceController consente di eseguire numerose operazioni utili. Ad esempio:

  • È possibile avviare e interrompere il servizio a cui si è connessi, sospenderlo o eseguire una delle altre operazioni amministrative alle quali il servizio è in grado di rispondere. Per ulteriori informazioni, vedere Procedura: eseguire attività amministrative relative ai servizi.

  • È possibile eseguire query su varie proprietà del servizio con cui il componente interagisce e recuperare i valori delle proprietà. È ad esempio possibile stabilire la possibilità di arrestare il servizio, di sospenderlo e di continuarne l'esecuzione recuperando il valore delle proprietà CanStop e CanPauseAndContinue.

  • È possibile restituire un elenco dei servizi esistenti su un computer particolare.

  • È possibile specificare un comando personalizzato per chiamare il servizio. Per ulteriori informazioni sui comandi personalizzati, visitare MSDN Online.

In realtà, il componente ServiceController passa le richieste di azioni a Gestione controllo servizi, anziché al servizio stesso. Il gestore di controllo del servizio interrompe, avvia o sospende il servizio oppure esegue le altre operazioni specificate. Una volta passata la richiesta a Gestione controllo servizi, il componente ServiceController non attende che Gestione controllo servizi passi la richiesta al servizio. Per questo motivo, è necessario gestire le eccezioni all'interno della classe del servizio, anziché nella classe ServiceController.

Nota:

In generale, è opportuno non aggiungere un componente ServiceController a un'applicazione di servizio Windows, se si desidera utilizzare tale componente per modificare il servizio contenuto nello stesso progetto. Il codice all'interno del progetto che crea un servizio non può essere utilizzato per controllare il servizio stesso. Tale servizio deve essere controllato da un altro contesto.

Vedere anche

Attività

Procedura: creare istanze del componente ServiceController

Procedura: eseguire attività amministrative relative ai servizi

Procedura: recuperare gli elenchi dei servizi

Esempio di gestione dei servizi