Регулярно запускать асинхронный метод с указанным интервалом
Мне нужно опубликовать некоторые данные в сервис из веб-приложения C #. Сами данные собираются, когда пользователь использует приложение (своего рода статистика использования). Я не хочу отправлять данные в службу во время запроса каждого пользователя, я бы предпочел собрать данные в приложении и затем отправить все данные в одном запросе в отдельном потоке, который не обслуживает запросы пользователей (я имею в виду пользователь не должен ждать обработки запроса службой). Для этого мне нужен своего рода JSsetInterval
аналог - запуск функции каждые Х секунд для сброса всех собранных данных в сервис.
я узнал чтоTimer
класс обеспечивает несколько похожий (Elapsed
событие). Однако это позволяет запустить метод только один раз, но это не является большой проблемой. Основная сложность в том, что для этого требуется подпись
void MethodName(object e, ElapsedEventArgs args)
в то время как я хотел бы запустить асинхронный метод, который будет вызывать веб-сервис (входные параметры не важны):
async Task MethodName(object e, ElapsedEventArgs args)
Кто-нибудь может посоветовать, как решить описанную задачу? Любые советы приветствуются.