Hahne Geschrieben 10. Dezember 2009 Geschrieben 10. Dezember 2009 Moin, ich bin gerade dabei einen Windows Dienst zu programmieren. Dieser Dienst soll unter anderen alle 2 Stunden einen gewissen Status abfragen. Jetzt bin ich nur am überlegen wie man dieses Intervall am Besten programmieren könnte. Habt ihr da vielleicht eine Idee für mich? Ich bin mir nicht sicher ob das Timer Control da so super für ist. Hat die Servicesklasse ggf. eine Funktion die so ein Intervall unterstützt? Zitieren
Hahne Geschrieben 10. Dezember 2009 Autor Geschrieben 10. Dezember 2009 So, was ich gerade auch noch herausgefunden habe ist, dass das Timer Control bei den Windows Services nicht funktioniert. Es liegt daran, dass die Controls aus dem System.Windows.Forms Namespace nur für Clientapps sind und nicht für Serviceanwendungen die auf dem Server laufen. Dafür muss man den Timer aus dem Namespace System.Timers verwenden und alles was normalerweise vom Timercontrol im Tick-Event steht muss nun in das Elapsed-Event. Jetzt bin ich am überlegen... ist es hierfür sinnvoll n Timer zu verwenden oder sollte ich vielleicht doch auf die Sleep-Funktion aus dem threading namespace zurückgreifen? Zitieren
athlet1 Geschrieben 10. Dezember 2009 Geschrieben 10. Dezember 2009 Wenn du die Sleep Funktion benutzt, musst du dich fragen, warum du einen Windows Service schreibst. Dann könntest du auch ne Konsolenanwendung schreiben, welche durch einen Windows Task periodisch gestartet wird. An deiner Stelle würde ich, ohne die genauen Anforderungen zu kennen, einen Timer nehmen. Das hat den Vorteil das der Service nicht 2h lang blockiert ist. Ich nehm für sowas meist den System.Threading.Timer Gruß Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.