Ich habe eine C# -Anwendung, die einige Wartungsaufgaben ausführt. Es muss ungefähr jede Stunde laufen, obwohl es nicht so wichtig ist, wenn es ein bisschen aus ist. Und es muss auf einem Win2003 Server mit niemandem angemeldet sein.Windows-Dienst oder Taskplaner für Wartungsaufgaben?
Grundsätzlich frage ich mich, ob ich einen Windows-Dienst schreiben sollte, und wenn ja, wenn Thread.Sleep() eine ordnungsgemäße Möglichkeit ist, den Thread für eine anzuhalten Stunde, oder wenn es bessere Möglichkeiten gibt, um sicherzustellen, dass der Thread im Leerlauf bleibt und keine Serverbelastung bringt? (aka. Was ist das Gegenteil von einem Spinlock)
Die Alternative ist der Windows Taskplaner, aber ich bin mir nicht sicher, ob das für den Server gut ist, da a) ich würde den Zeitplan lieber darin speichern als in meiner app.config, b) Ich kann den Dienst nicht einfach durch Start/Stopp/Neustart und c) Ich weiß nicht, ob die Anmeldeinformationen des Windows-Benutzers so sicher sind, als wenn ich es in der Service MMC Snapin eingeben.
Was sind Ihre Meinungen? Ist es möglich und gut, einen untätigen Service zu haben, oder würden Sie stattdessen den Task Scheduler empfehlen?