asynchronousPartialView导致“HttpServerUtility.Execute阻止…”exception
我有一个局部视图,试图从数据库检索一个IEnumerable<Post>使用asynchronous… 
方法
 public static class PostService { public static int PostsPerPage = 50; public static async Task<IEnumerable<Post>> GetRecentAsync(int page = 0) { return await entityFrameworkDbContext.Posts .ToListAsync(); } } 
PartialView
 public async Task<ActionResult> Recent(int page = 0) { return PartialView(await PostService.GetRecentAsync(page)); } 
然后,如果我试图打电话给它
 @Html.Action("Recent", "Post") 
我得到以下exception
HttpServerUtility.Execute在等待asynchronous操作完成时被阻塞。
说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。
exception详细信息:System.InvalidOperationException:HttpServerUtility.Execute在等待asynchronous操作完成时被阻塞。
为什么我得到这个错误? 它不应该工作吗?
子动作必须同步调用。 问题601我也不知道最近更新的当前MVC库允许这个function。
 关于问题601的评论,提示在MVC vNext中添加了这个function。  MVC6。 子动作看起来被ViewComponentreplace,它可以从视图asynchronous调用,如下所示。 完整的例子在这里和这里 
 <div> @await Component.InvokeAsync("YourComponent") </div> 
有关MVC6的更多信息,请访问http://www.asp.net/vnext/overview/aspnet-vnext/overview
注:这个答案只是一个forms,所以这个问题可以被标记为回答