我有一个动作过滤器,在某些特定条件下使用时,必须执行Web服务调用,以确保当前的状态是有效的。 这最初似乎像异步/ AWAIT的理想人选,但我已经遇到了障碍:
假设一个请求:/测试/ FilteredAction
- MyCustomActionFilter开始执行
- 第一个“等待”达到声明
- TestController.FilteredAction开始执行
- MyCustomActionFilter恢复执行
传统上我希望动作过滤器能够恢复执行,然后完成控制操作开始执行之前,但这并没有发生。
现在,我想这是因为我使用:
public class MyCustomActionFilter : ActionFilterAttribute
{
public override **async** void OnActionExecuting(FilterContext context)
{
var foo = await WebServiceCall();
}
}
所以我想我的问题是:有没有内置MVC 4异步感知行动过滤器类,或者我应该只是在这里呼吁阻止?