Ação de criança assíncrona asp.net MVC 4
Eu tenho um aplicativo ASP.NET MVC 4 visando .NET 4.5. Uma de nossas ações filhas faz uma chamada para um serviço da Web usando o HttpClient.
Como estamos bloqueando o IO esperando pela resposta do HttpClient, faz muito sentido converter o código no padrão async / await. No entanto, quando o MVC 4 tenta executar a ação filho, recebemos a seguinte mensagem de erro:
HttpServerUtility.Execute bloqueado enquanto aguarda a conclusão de uma operação assíncrona.
À primeira vista, parece que o MVC 4 não suporta async / wait dentro de uma ação filha. A única opção restante é executar usando o código síncrono e forçar um "Aguardar" na tarefa assíncrona.
Como todos sabemos, tocar em .Result ou .Wait () em uma tarefa assíncrona em um contexto ASP.NET causará um impasse imediato. Minha lógica assíncrona é encapsulada em uma biblioteca de classes, portanto não posso usar o truque "await blah.ConfigureAwait (false)". Lembre-se de marcar "assíncrono" na ação filho e usar o await causa um erro e isso me impede de configurar a espera.
Eu estou pintado em um canto neste momento. Existequalquer maneira de consumir métodos assíncronos em uma ação de criança do MVC 4? Parece um bug flat out sem soluções.