Фильтр асинхронного действия в MVC 4
У меня есть фильтр действий, который при использовании в определенных конкретных условиях должен выполнять вызов веб-службы, чтобы убедиться, что текущее состояние действительно. Изначально это казалось идеальным кандидатом на async / await, но я столкнулся с проблемой:
Предположим, запрос: / Test / FilteredAction
MyCustomActionFilter begins executing The first "await" statement is reached TestController.FilteredAction starts executing MyCustomActionFilter resumes executingТрадиционно я ожидаю, что фильтр действий возобновит выполнение, а затем завершится до того, как начнется выполнение действия контроллера, но этого не происходит.
Теперь я предполагаю, что это потому, что я использую:
public class MyCustomActionFilter : ActionFilterAttribute
{
public override **async** void OnActionExecuting(FilterContext context)
{
var foo = await WebServiceCall();
}
}
Поэтому я думаю, что мой вопрос таков: существует ли в MVC 4 класс фильтра действий, учитывающий асинхронность, или я должен просто блокировать вызовы здесь?