Hat von Euch bereits jemand mal einen Windows-Dienst in C# geschrieben? Läuft das stabil (wenn richtig umgesetzt)?
Windows Dienst in C#
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Ja vor ein paar Jahren habe ich mal einen Service in c# geschrieben.
Was meinst du mit stabil? Der Dienst läuft so stabil wie eine normale Anwendung (und wird bei Beenden/Abstürzen automatisch neu gestartet, wenn es so eingestellt wird). Man hat ja nur die zusätzlichen Interfaces zur Steuerung.
Für die Entwicklung ist der folgende Codeschnipsel übrigens praktisch:
C#-Quellcode
- static void Main()
- {
- #if (!DEBUG)
- ServiceBase[] ServicesToRun;
- ServicesToRun = new ServiceBase[]
- {
- new DeineServiceKlasse()
- };
- ServiceBase.Run(ServicesToRun);
- #else
- DeineServiceKlasse myService = new DeineServiceKlasse();
- myService.Process();
- // here Process is my Service function
- // that will run when my service onstart is called
- // you need to call your own method or function name here instead of Process();
- #endif
- }
-
Super, danke erstmal dafür - ist es möglich daraus mehrere Threads oder Tasks zu starten?
-
Der Schnipsel startet manuell eine Funktion (die, die beim Servicestart gestartet werden soll) deines Programms. Bei einem normalen Programm wäre das z.B. die Main Funktion.
Threadmanagement musst du in deinem Service ja irgendwo haben, wenn du mehr als 1 Thread willst.
Also du startest irgendwo eine Prozedur oder Funktion als neuen Thread. Entweder bei Bedarf irgendwo im Code, oder direkt beim Initialisieren im Code (also in dem Prozess, den du mit dem Schnipsel ausführen solltest. Das ist genau wie bei einer normalen Anwendung. -
Super, genau das wollte ich wissen. Danke Dir!
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0
-
Tags