Async friendly DispatcherTimer wrapper / podklasa

mamDispatcherTimer uruchomiony w moim kodzie, który uruchamia się co 30 sekund, aby zaktualizować status systemu z serwera. Zegar uruchamia się w kliencie, nawet jeśli debuguję kod mojego serwera, więc jeśli debugowałem przez 5 minut, mogę skończyć z tuzinem przerw w działaniu klienta. W końcu zdecydowałem, że muszę to naprawić, aby uzyskać więcejasync / await przyjazny DispatcherTimer.

Kod działaDispatcherTimer musi być konfigurowalny niezależnie od tego, czy jest to ponowne wejście czy nie (tzn. czy zadanie już działa, nie powinno próbować go ponownie uruchomić)Powinny być oparte na zadaniach (bez względu na to, czy to wymaga, czy faktycznie wystawiam Zadanie w katalogu głównym, jest szary obszar)Powinien być w stanie uruchomić kod asynchroniczny iawait na zadania do wykonaniaCzy zawija czy rozszerza DispatcherTimer, prawdopodobnie nie ma znaczenia, ale zawijanie może być nieco mniej dwuznaczne, jeśli nie wiesz, jak go użyćEwentualnie ujawnij właściwości wiążące dlaIsRunning dla interfejsu użytkownika

questionAnswers(1)

yourAnswerToTheQuestion