Ejecute el método asíncrono regularmente con el intervalo especificado

Necesito publicar algunos datos en el servicio desde la aplicación web C #. Los datos en sí se recopilan cuando el usuario usa la aplicación (un tipo de estadísticas de uso). No quiero enviar datos al servicio durante la solicitud de cada usuario, prefiero recopilar los datos en la aplicación y luego enviar todos los datos en una sola solicitud en un hilo separado, que no atiende las solicitudes de los usuarios (quiero decir el usuario no tiene que esperar a que el servicio procese la solicitud). Para este propósito necesito una especie de JSsetInterval analógico: el lanzamiento de la función cada X segundos para vaciar todos los datos recopilados al servicio.

Descubrí queTimer la clase proporciona algo similar (Elapsed evento). Sin embargo, esto permite ejecutar el método solo una vez, pero eso no es un gran problema. La principal dificultad es que requiere la firma.

void MethodName(object e, ElapsedEventArgs args)

aunque me gustaría iniciar el método asíncrono, que llamará al servicio web (los parámetros de entrada no son importantes):

async Task MethodName(object e, ElapsedEventArgs args)

¿Alguien podría aconsejar cómo resolver la tarea descrita? Cualquier consejo apreciado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta