Ashipc friendly DispatcherTimer wrapper / subclass

tengo unDispatcherTimer ejecutando en mi código que se dispara cada 30 segundos para actualizar el estado del sistema desde el servidor. El temporizador se dispara en el cliente incluso si estoy depurando el código de mi servidor, por lo que si he estado depurando durante 5 minutos, puedo terminar con una docena de tiempos de espera en el cliente. Finalmente decidí que necesitaba arreglar esto, así que busco hacer másasync / await amistoso DispatcherTimer.

Código que se ejecuta enDispatcherTimer debe ser configurable si es reentrante o no (es decir, si la tarea ya se está ejecutando, no debe intentar ejecutarse de nuevo)Debería estar basado en tareas (ya sea que esto requiera o no, en realidad expongo La tarea en la raíz es un área gris)Debería poder ejecutar código asíncrono yawait en tareas para completarSi envuelve o extiende DispatcherTimer probablemente no importa, pero envolverlo puede ser un poco menos ambiguo si no sabes cómo usarloPosiblemente exponga propiedades enlazables paraIsRunning para UI

Respuestas a la pregunta(1)

Su respuesta a la pregunta