我正在努力了解Task.ContinueWith应该如何在Asp.Net WebApi中工作。我想知道是否有人可以解释如何,如下面的例子。
考虑以下示例:
public IHttpActionResult Get()
{
DoStuff()
.ContinueWith(task =>
{
_log.Debug("Log some stuff");
});
return Ok();
}
public async Task DoStuff()
{
await Task.Delay(1000);
}
根据我的阅读,我期待执行延续功能(即使Web请求已完成),但它永远不会。如果我将Task.Delay减少到<10毫秒就可以了。我假设当web请求返回时,continuation函数“丢失”,但为什么呢,它不只是等待在ThreadPool线程上完成的工作吗?
请帮忙!感谢..