Async PartialView causes "HttpServerUtility.Execute blocked..." exception
Solution 1:
Child actions must be invoked synchronously. Issue 601 I am also not aware of any recent updates to the current MVC libraries allowing this functionality.
A comment on Issue 601, hints at this functionality being added in MVC vNext, aka. MVC6. Child actions look to be replaced with ViewComponent
which can be invoked asynchronously from a view as below. Full examples here and here
<div>
@await Component.InvokeAsync("YourComponent")
</div>
For more on MVC6 check out, http://www.asp.net/vnext/overview/aspnet-vnext/overview
Note: This answer is just a formality, so the question can be marked as answered
Solution 2:
A workaround for this issue is to make the method synchronious as required by MVC, clear the SynchronizationContext, call the async method and wait for the result, then restore the context.
see my full aswer here