如何在 ASP.NET Core 上的请求结束时启动后台作业?



我现有的Web开发知识主要是Node。我现在正在探索 ASP.NET Core,让我有点困惑的一件事是如何在操作方法结束时启动后台作业。

例如,在 Node 中,我可能会使用一个函数,该函数会立即返回,但会传递回调以记录请求。可以在日志记录开始时将响应发送给用户。

我不希望用户因每个请求需要发生的后台内容而减慢速度。我将如何在 ASP.NET 核心中执行此操作?

我创建了一个API。
它启动,向用户显示我的 IE无数字符串。 当页面已经加载时,调试器继续输出"仍然在这里运行"。
这有效,因为我从不等待任务或询问结果。

[HttpGet]
public IEnumerable<string> Get()
{
Task task = new Task(() =>
{
for (int i = 0; i < 5000; i++)
{
System.Threading.Thread.Sleep(2000);
Debug.WriteLine("Still running here...");
}
});
task.Start();
return new string[] { "value1", "value2" };
}

最新更新