Filtro de ação assíncrona no MVC 4

Eu tenho um filtro de ação que quando usado em determinadas condições específicas tem que executar uma chamada de serviço da web para garantir que o estado atual é válido. Isso inicialmente parecia um candidato ideal para async / await, mas eu encontrei um obstáculo:

Suponha um pedido para: / Test / FilteredAction

MyCustomActionFilter começa a executarA primeira declaração "aguardar" é atingidaTestController.FilteredAction inicia a execuçãoMyCustomActionFilter retoma a execução

Tradicionalmente, eu esperaria que o filtro de ação retomasse a execução e fosse concluído antes que a ação do controlador iniciasse a execução, mas isso não acontece.

Agora eu suponho que isso é porque eu estou usando:

public class MyCustomActionFilter : ActionFilterAttribute 
{
    public override **async** void OnActionExecuting(FilterContext context) 
    {
        var foo = await WebServiceCall();
    }
}

Então, eu acho que a minha pergunta é: Existe uma classe de filtro de ação com reconhecimento de async embutida no MVC 4, ou eu deveria apenas bloquear as chamadas aqui?

questionAnswers(2)

yourAnswerToTheQuestion