我們都知道the famous blog post關於由Stephen Cleary封鎖異步代碼。在MVC 5下面的代碼死鎖請求Home/Index
時:我可以阻止MVC Core中的異步代碼嗎?
public class HomeController : Controller
{
public string Index()
{
var model = AsyncMethod();
return model.Result;
}
private async Task<string> AsyncMethod()
{
await Task.Run(() => Thread.Sleep(2000));
return "Hello";
}
}
然而,完全相同的代碼不會在MVC核心的Web應用程序死鎖。回覆返回您好。爲什麼? MVC Core是否允許多個線程在一個請求上下文中同時運行? 請勿在異步代碼上阻塞在MVC Core中進行開發時,語句是否過時?
謝謝!我可以再次和平地編碼:-) – Kapol