Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

[70-536] - Creating Windows Services - parte 2 di 2


Area di riferimento

- Implementing service processes, threading, and application domains in a .NET Framework application
   - Implement, install, and control a service
      - ServiceController class and ServiceControllerPermission class



Controllare i servizi di Windows

La classe ServiceController permette di connettersi a un servizio sul computer locale o su un computer remoto, esaminare le capacità del servizio, avviarlo fermarlo e così via. Affinchè un processo possa effettuare questa operazione deve avere le opportune autorizzazioni. Per richiedere l'autorizzazione si utilizza la classe ServiceControllerPermission.

Ecco un esempio che mostra come connettersi al servizio di nome "MioServizio" presente sulla macchina locale. L'esempio dopo aver visualizzato lo stato del servizio si comporta come segue:

  • Se il servizio è fermo lo avvia
  • Se il servizio è in esecuzione lo ferma
  • Se il servizio è in pausa lo rimette in esecuzione

static void Main(string[] args) 

     string nomeServizio = "MioServizio"; 

     // Costruisco un oggetto ServiceController per gestire il mio servizio 
     ServiceController sc = new ServiceController(nomeServizio); 

     // Visualizzo informazioni sullo stato del servizio 
     Console.WriteLine("Il servizio {0} al momento è nello stato {1}", nomeServizio, sc.Status); 

     // Avvio o fermo il servizio in base al suo stato 
     if (sc.Status == ServiceControllerStatus.Running) 
     { 
         sc.Stop(); 
         Console.WriteLine("Servizio fermato"); 
     } 
     else if (sc.Status == ServiceControllerStatus.Stopped) 
     { 
         sc.Start(); 
         Console.WriteLine("Servizio avviato"); 
     } 
     else if (sc.Status == ServiceControllerStatus.Paused) 
     { 
         sc.Continue(); 
         Console.WriteLine("Servizio ripristinato"); 
     } 

     Console.ReadKey(); 
}

Print | posted on domenica 30 dicembre 2007 22:59 | Filed Under [ Exam 70-536 Application Development Foundation ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET