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çãoTradicionalmente, 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?