Фильтр асинхронного действия в 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 класс фильтра действий, учитывающий асинхронность, или я должен просто блокировать вызовы здесь?

Ответы на вопрос(2)

Ваш ответ на вопрос