ASP.NET MVC 4 async enfant d'action

J'ai un ASP.NET MVC 4 application de ciblage .NET 4.5. L'un de nos actions enfant fait un appel d'un service web à l'aide de HttpClient.

Puisque nous sommes blocage sur IO attente pour le client http de la réponse, il fait beaucoup de sens pour convertir le code de la async/await modèle. Toutefois, lorsque MVC 4 tente d'exécuter l'action enfant, nous obtenons le message d'erreur suivant:

HttpServerUtility.Exécuter bloquée en attente d'une opération asynchrone à compléter.

À première vue, il semble comme si MVC 4 ne prend pas en charge async/await dans un enfant d'action. La seule option restante est exécuté à l'aide du code synchrone et la force d'un "Wait" async task.

Comme nous le savons tous, le toucher .Le résultat ou l' .Wait() sur une tâche asynchrone dans un ASP.NET le contexte qui va provoquer un blocage immédiat. Mon async logique est enveloppé dans une bibliothèque de classe, donc je ne peux pas utiliser le "en attente de bla.ConfigureAwait(false)" astuce. Rappelez-vous, le marquage "async" l'enfant d'action et de l'utilisation attendent provoque une erreur, et qui m'empêche de configuration de l'attendent.

Je suis peint dans un coin à ce point. Est-il tout façon de consommer de méthodes asynchrones dans un MVC 4 enfant d'action? Apparaît comme un plat d'un bug avec aucune solution de rechange.

  • Pourriez-vous inclure le code minimal pour montrer le problème?
InformationsquelleAutor ShadowChaser | 2012-10-05