Wir alle wissen the famous blog post über das Blockieren auf Async-Code von Stephen Cleary. In MVC 5 der folgenden Code Deadlocks bei der Anforderung von Home/Index
:Kann ich Async-Code in MVC Core blockieren?
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";
}
}
jedoch genau den gleichen Code nicht in einer MVC-Core-Web-Anwendung ist eine Sackgasse. Die Antwort gibt Hello zurück. Warum? Ermöglicht MVC Core die gleichzeitige Ausführung mehrerer Threads in einem Anforderungskontext? Ist die nicht auf Async-Code Satz veraltet, wenn Sie in MVC Core entwickeln?
Vielen Dank! Ich kann wieder friedlich codieren :-) – Kapol