Asynchrone freundliche DispatcherTimer-Wrapper / Unterklasse

Ich habe einDispatcherTimer Laufen in meinem Code, der alle 30 Sekunden ausgelöst wird, um den Systemstatus vom Server zu aktualisieren. Der Timer wird im Client ausgelöst, auch wenn ich meinen Servercode debugge. Wenn ich also 5 Minuten lang debugge, kann es sein, dass ein Dutzend Timeouts im Client auftreten. Schließlich beschloss ich, dies zu beheben, um mehr zu machenasync / await freundlicher DispatcherTimer.

Code läuft einDispatcherTimer muss konfigurierbar sein, ob es sich um einen wiedereintrittsfähigen Task handelt oder nicht (d. h. wenn der Task bereits ausgeführt wird, sollte er nicht versuchen, ihn erneut auszuführen)Sollte aufgabenbasiert sein (unabhängig davon, ob dies erfordert oder nicht, dass ich die Aufgabe an der Wurzel tatsächlich verfügbar mache, ist eine graue Fläche)Sollte in der Lage sein, asynchronen Code und auszuführenawait auf Aufgaben zu erledigenOb es den DispatcherTimer umschließt oder erweitert, spielt wahrscheinlich keine Rolle, aber wenn Sie nicht wissen, wie man es benutzt, ist das Umschließen möglicherweise etwas weniger zweideutigMöglicherweise belichten bindbare Eigenschaften fürIsRunning für die Benutzeroberfläche

Antworten auf die Frage(1)

Ihre Antwort auf die Frage