Hintergrund Worker Check für wenn es Mitternacht ist?

7

Ich möchte einen Hintergrund-Worker für ein WinForm erstellen, das Code auslöst, sobald die Mitternacht vorüber ist.

Ich habe eine Idee, wie es geht, aber ich bin mir ziemlich sicher, dass das nicht der beste Weg ist.

%Vor%     
sooprise 16.06.2010, 13:34
quelle

6 Antworten

21

Verwenden Sie ein System.Timers.Timer und berechnen Sie beim Programmstart einfach die Differenz zwischen DateTime.Now und DateTime.Today.AddDays(0) . Stellen Sie dann das Intervall für diesen Betrag ein.

Ich habe gerade kürzlich so etwas gemacht:

%Vor%

UND:

%Vor%

Verwendung: DayChangedNotified.DayChanged += ....

    
BFree 16.06.2010, 13:41
quelle
7

Stattdessen können Sie einen Timer verwenden und das Timer-Tick-Intervall auf die Zeit zwischen Now () und Mitternacht einstellen.

    
AaronLS 16.06.2010 13:39
quelle
0

Sie können Quartz verwenden, um dies zu planen. Vielleicht ist es in diesem Szenario wie eine Kanone, eine Mücke zu töten, aber das ist der einzige Zeitplan, den ich kenne und der hervorragend funktioniert.

    
Marcote 16.06.2010 13:39
quelle
0

Verwenden Sie kein Polling. Richten Sie stattdessen eine Timer-Task ein, legen Sie sie auf Mitternacht fest und fügen Sie ein Ereignis zur Verarbeitung hinzu.

%Vor%     
cortijon 16.06.2010 13:46
quelle
0

Ich habe keine Ahnung, warum Polling-Lösungen gewählt wurden, als Microsoft vor Jahren dieses Problem löste, indem es einen Windows-Dienst hinzufügte, um das Timing zu handhaben. Erstellen Sie einfach eine geplante Aufgabe, um die exe auszuführen. Kein zusätzlicher Aufwand.

    
P.Brian.Mackey 16.06.2010 14:12
quelle
0

Ich bin ein wenig verwirrt darüber, warum Sie ein WinForm brauchen, wird es um Mitternacht laufen? Wenn Sie nur einen Sortiervorgang ausführen müssen, verwenden Sie den Windows-Scheduler, um ihn um Mitternacht auszuführen. (Auf XP, aber ich glaube Win Server sollte ähnlich sein) Systemsteuerung - & gt; Geplante Aufgaben - & gt; Geplante Aufgabe hinzufügen - & gt; Füllen Sie den Assistenten aus. Sparen Sie viel Code.

    
Chris L 16.06.2010 15:00
quelle

Tags und Links