【发布时间】:2012-08-06 22:39:34
【问题描述】:
我需要调用一个从内部返回 Task 的方法
public override void OnActionExecuting(ActionExecutingContext filterContext)
它不会让我使这个方法异步它会抛出以下内容
异步模块或处理程序在异步完成时完成 操作仍在等待中。
以及调用时
entityStorage.GetCurrentUser().Result
我遇到了僵局。我怎样才能避免这种情况?
我一直在玩弄它,想出类似的东西
entityStorage.GetCurrentUser().Result.ConfigureAwait(false).GetAwaiter().GetResult();
但这不起作用。我该怎么做?我的解决方案需要使用 ASP.NET 4 和 Async Targetting Pack,我无法像部署到 Azure 一样使用 ASP.NET 4.5。
【问题讨论】:
-
在这里找到答案stackoverflow.com/a/5097066/168012如果有人有更好的解决方案请分享
-
您是从
AsyncController而不是Controller派生的吗? -
请 vote here 让 MVC 团队添加对
async操作过滤器的支持。
标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-4.0 async-await