2010-07-12 14 views
7

Ho una semplice applicazione C# che deve essere eseguita come servizio. come faccio a farlo funzionare come un servizio invece che come un eseguibile?C# - come faccio a far funzionare l'applicazione come un servizio?

+0

possibile duplicato di [risorse sulla creazione di un servizio di Windows usando C#] (http://stackoverflow.com/questions/1688382/resources-on-creating-a-windows-service-using-c) – Joe

+0

Qui ho trovato le istruzioni passo-passo: https://stackoverflow.com/a/593803/7713750 – Rekshino

risposta

2

Visual C# 2010 Recipies ha un esempio che mostra esattamente come eseguire questa operazione, che ho provato a utilizzare VS 2008 e .NET 3.5.

Ammonta a questo:

  1. Creare una nuova applicazione "Windows Service" in Visual Studio
  2. porta sorgente della vostra applicazione nel modello di esecuzione del servizio, AKA la funzione principale diventa parte di un gestore di eventi innescata da un oggetto timer o qualcosa del genere
  3. Aggiungere una classe Servizio di installazione per il vostro progetto di servizio Windows - sembrerà qualcosa di simile a questo frammento di codice di seguito:

    [RunInstaller(true)] 
    public partial class PollingServiceInstaller : Installer 
    { 
        public PollingServiceInstaller() 
        { 
         //Instantiate and configure a ServiceProcessInstaller 
         ServiceProcessInstaller PollingService = new ServiceProcessInstaller(); 
         PollingService.Account = ServiceAccount.LocalSystem; 
    
         //Instantiate and configure a ServiceInstaller 
         ServiceInstaller PollingInstaller = new ServiceInstaller(); 
         PollingInstaller.DisplayName = "SMMD Polling Service Beta"; 
         PollingInstaller.ServiceName = "SMMD Polling Service Beta"; 
         PollingInstaller.StartType = ServiceStartMode.Automatic; 
    
         //Add both the service process installer and the service installer to the 
         //Installers collection, which is inherited from the Installer base class. 
         Installers.Add(PollingInstaller); 
         Installers.Add(PollingService); 
        } 
    } 
    

Infine Potrai utilizzare un'utility a riga di comando per installare in realtà il servizio - si può leggere su come funziona qui:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d8f300e3-6c09-424f-829e-c5fda34c1bc7

fatemi sapere se avete domande.

3

C'è un elemento chiamato "Servizio Windows" in Visual Studio. Se avete domande fatemi sapere, scrivo i servizi tutto il giorno.

+0

grazie mille jonathan ti prenderò sicuramente su quello –

2

C'è il Framework Open Source che ospita l'applicazione .net come servizio di Windows. Non ci sono problemi nell'installare, disinstallare il servizio Windows. Si disaccoppia molto bene. Per favore controlla questo post Topshelf Windows Service Framework Post

Problemi correlati