2010-07-12 7 views
7

Ich habe eine einfache C# -Anwendung, die als Dienst ausgeführt werden muss. Wie kann ich es als Dienst ausführen anstatt nur als ausführbare Datei?C# - Wie führe ich eine Anwendung als Dienst aus?

+0

mögliche Duplikate von [Ressourcen zum Erstellen eines Windows-Dienstes mit C#] (http://stackoverflow.com/questions/1688382/resources-on-creating-a-windows-service-using-c) – Joe

+0

Hier habe ich Schritt-für-Schritt-Anleitung gefunden: https://Stackoverflow.com/a/593803/7713750 – Rekshino

Antwort

2

Visual C# 2010 Recipies hat ein Beispiel darin, das Ihnen genau zeigt, wie man das macht, was ich mit VS 2008 und .NET 3.5 versucht habe.

Es ergibt dies:

  1. Erstellen Sie eine neue „Windows Service“ Anwendung in Visual Studio
  2. Hafen Quelle Ihrer Anwendung in das Ausführungsmodell des Service, AKA Ihre Hauptfunktion wird ausgelöst Teil eines Event-Handlers durch ein Timer-Objekt oder etwas in diese Richtung
  3. eine Service-Installer Klasse zu Ihrem Windows-Projekt hinzufügen - es so etwas wie dieser Codeausschnitt unten sehen werden:

    [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); 
        } 
    } 
    

Schließlich finden Sie ein Befehlszeilenprogramm verwenden, um tatsächlich den Dienst zu installieren - Sie können lesen, wie das funktioniert hier:

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

Lassen Sie mich wissen, wenn Sie Fragen haben.

3

Es gibt eine temporäre namens "Windows Service" in Visual Studio. Wenn Sie irgendwelche Fragen haben, lassen Sie es mich wissen, ich schreibe den ganzen Tag über Dienstleistungen.

+0

Vielen Dank Jonathan, ich werde Sie auf jeden Fall mitnehmen –

2

Es gibt das Open Source Framework, das die .net-Anwendung als Windows-Dienst hostet. Es gibt keine Schmerzen Installation, Deinstallation von Windows-Dienst. Es entkoppelt sehr gut. Bitte überprüfen Sie diesen Beitrag Topshelf Windows Service Framework Post

Verwandte Themen