ASP.NET MVC 4 асинхронное дочернее действие

У меня есть приложение ASP.NET MVC 4 для .NET 4.5. Одним из наших дочерних действий является вызов веб-службы с использованием HttpClient.

С тех пор, как мы'Блокируя IO в ожидании ответа HttpClient, имеет смысл преобразовать код в шаблон async / await. Однако, когда MVC 4 пытается выполнить дочернее действие, мы получаем следующее сообщение об ошибке:

HttpServerUtility.Execute заблокирован во время ожидания завершения асинхронной операции.

На первый взгляд кажется, что MVC 4 не поддерживает async / await в дочернем действии. Единственный оставшийся вариант - запустить с использованием синхронного кода и принудительно "Подождите" на асинхронной задаче.

Как мы все знаем, прикосновение к .Result или .Wait () в асинхронной задаче в контексте ASP.NET вызовет немедленную тупиковую ситуацию. Моя асинхронная логика обернута в библиотеку классов, поэтому я могуне использовать "await blah.ConfigureAwait (false) " трюк. Помните, пометкаасинхронный» на дочернем действии и использование await вызывает ошибку, и это мешает мне настроить await.I '

м нарисовал в угол на данный момент. Естьлюбой способ использовать асинхронные методы в дочернем действии MVC 4? Похоже, плоская ошибка без обходных путей.

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

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