我有一个同步控制器方法
public IActionResult Action(int num)
{
//operations-1
Task.Run(() => DoWork(num));
//operations-2
int a = num + 123;
return Ok(a);
}
Run Code Online (Sandbox Code Playgroud)
和DoWork方法
private bool DoWork(int num)
{
//operations
return true;
}
Run Code Online (Sandbox Code Playgroud)
我想做的是在从 Postman 调用该端点时在后台运行 DoWork 方法,但我想在 Postman 中获得结果,然后调试 DoWork 方法(从 DoWork 方法中的断点) - 这可能吗?
在那一刻,控制器操作和 DoWork() 同时执行,但是当我达到
return Ok(a);
Run Code Online (Sandbox Code Playgroud)
应用程序等待 DoWork 而不是返回值。我也尝试过
Task.Factory.StartNew(() => DoWork());
ThreadPool.QueueUserWorkItem(o => DoWork());
Run Code Online (Sandbox Code Playgroud)
但结果是一样的。
我希望 DoWork 方法返回值,但控制器操作方法不需要该值 - 它将在不同的地方使用,不与之连接。