定期以指定的间隔运行异步方法
- 论坛
- 定期以指定的间隔运行异步方法
14 浏览
定期以指定的间隔运行异步方法
我需要将一些数据从C# Web应用程序发布到服务中。这些数据是用户在使用该应用程序时收集的(一种使用统计数据)。我不想在每个用户请求时将数据发送到服务,我宁愿在应用程序中收集数据,然后在单独的线程中发送所有数据的单个请求(这个线程不用来处理用户请求,我是指用户不必等待请求被服务处理)。为此,我需要一种类似于JS的setInterval
的机制 - 每隔X秒启动一次函数,将所有收集到的数据刷新到服务中。
我发现Timer
类提供了类似的功能(Elapsed
事件)。然而,它只允许运行方法一次,但这不是一个大问题。主要困难在于它要求方法的签名为:
void MethodName(object e, ElapsedEventArgs args)
而我想要启动异步方法,该方法将调用 Web 服务(输入参数不重要):
async Task MethodName(object e, ElapsedEventArgs args)
有人能给出如何解决这个描述的任务的建议吗?任何提示都将不胜感激。