.NET Core Web Api 控制器接收到请求打开已经设置好的间隔200ms的定时器
时间: 2024-04-14 20:29:40 浏览: 85
您可以使用`System.Timers.Timer`类来创建一个定时器,然后在控制器中接收到请求时启动定时器。以下是一个示例代码:
```csharp
using System;
using System.Timers;
using Microsoft.AspNetCore.Mvc;
namespace YourNamespace.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
private Timer timer;
public MyController()
{
timer = new Timer(200); // 设置定时器间隔为200ms
timer.Elapsed += TimerElapsed;
}
[HttpGet]
public IActionResult StartTimer()
{
timer.Start(); // 接收到请求时启动定时器
return Ok("Timer started.");
}
private void TimerElapsed(object sender, ElapsedEventArgs e)
{
// 定时器触发时执行的代码
// 在这里可以处理您想要的逻辑
}
}
}
```
在上面的示例中,我们创建了一个`MyController`,并在构造函数中初始化了一个定时器,并设置了定时器的间隔为200毫秒。在`StartTimer`方法中,我们接收到请求时启动了定时器。当定时器触发时,会执行`TimerElapsed`方法中的代码,您可以在其中处理您想要的逻辑。
请注意,这只是一个简单的示例,您可能需要根据您的具体需求进行适当的修改和扩展。
阅读全文