2016-06-27 10 views
0

Ich habe einen Windows-Dienst erstellt und erfolgreich installiert, und ich habe Code erstellt, um eine E-Mail zu senden, wenn Datum und Uhrzeit übereinstimmen.Wie führe ich in jeder Stunde einen Windows-Dienst aus?

Jetzt möchte ich diesen Dienst für jede Stunde ausführen, um zu überprüfen, ob Datum und Uhrzeit übereinstimmen oder nicht.

Ich verstehe nicht, wie mache ich das?

Bitte helfen.

+0

Windows-Dienst soll die ganze Zeit weiter laufen. Sie müssen nur nach dem Datum suchen, etwa eine Minute im Leerlauf, wenn die Zeit noch nicht erreicht ist. – Martheen

+0

Mögliches Duplikat von [Windows-Dienst, der regelmäßig ausgeführt wird] (http://stackoverflow.com/questions/1498498/windows-service-that-runs -periodisch) –

Antwort

7

Windows-Dienste sollten kontinuierlich ausgeführt werden - Wenn Sie es nur einmal pro Stunde "aufwachen" müssen, warum nicht stattdessen eine geplante Aufgabe machen?


Mit Geplante Tasks alles, was Sie brauchen, ist Ihr Code zu kompilieren und dann können Sie „Aufgabe erstellen“, richten Sie es auf Ihre exe und gesetzt, wenn auszuführen.

+1

https://technet.microsoft.com/en-us/library /cc748993(v=ws.11).aspx –

1

Mit System.Timers.Timer haben Sie mehr Optionen, wobei System.Threading.Timer ein leichter Timer ist. Ich würde Sie System.Timers.Timer

stellen Sie den tmrExecutor.Interval Intervall für wie viel Zeit Sie Sie E-Mail und Intervall senden ausführen möchten verwenden empfehlen in milisecond ist

wie pro Ihr requirment ist für jeden Stunde ist 3600000 Millisekunden

Timer tmrExecutor = new Timer(); 

protected override void OnStart(string[] args) 
{ 
    tmrExecutor.Elapsed += new ElapsedEventHandler(tmrExecutor_Elapsed); // adding Event 
    tmrExecutor.Interval = 3600000; // Set your time here 
    tmrExecutor.Enabled = true; 
    tmrExecutor.Start(); 
} 

private void tmrExecutor_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
{ 
    //Do your Sending email work here 
} 

protected override void OnStop() 
{ 
    tmrExecutor.Enabled = false; 
} 
Verwandte Themen