.NET Core Web Api 控制器接收到请求打开已经设置好的间隔200ms的五个定时器
时间: 2024-04-13 19:29:41 浏览: 128
.NET 开发服务用定时器组件
4星 · 用户满意度95%
在.NET Core Web API中,您可以使用`Timer`类来创建定时器。要在控制器接收到请求时打开五个已设置好间隔为200ms的定时器,您可以按照以下步骤操作:
1. 在控制器类的构造函数中创建五个`Timer`对象,并指定间隔为200毫秒:
```csharp
private Timer[] _timers;
public YourController()
{
_timers = new Timer[5];
for (int i = 0; i < _timers.Length; i++)
{
_timers[i] = new Timer(200);
_timers[i].Elapsed += TimerElapsed;
_timers[i].AutoReset = true;
}
}
```
2. 在控制器类中创建一个`TimerElapsed`方法,该方法将在每个间隔到达时触发:
```csharp
private void TimerElapsed(object sender, ElapsedEventArgs e)
{
// 在这里执行您要执行的定时任务
}
```
3. 在控制器的某个方法中,例如`HttpGet`方法,启动五个定时器:
```csharp
[HttpGet]
public IActionResult StartTimers()
{
foreach (var timer in _timers)
{
timer.Start();
}
return Ok("Timers started");
}
```
这样,当您调用控制器的`StartTimers`方法时,五个定时器将开始运行,并在每个200毫秒的间隔触发`TimerElapsed`方法。
请注意,如果您希望在不再需要定时器时停止它们,可以在适当的方法中调用`timer.Stop()`。同时,不要忘记在适当的时候释放定时器对象,以避免资源泄露。
阅读全文