У меня есть приложение ASP.NET MVC, которое в настоящее время использует класс WebClient для простого вызова внешнего веб-сервиса из действия контроллера.Использование WebClient в ASP.NET MVC асинхронно?
В настоящее время я использую метод DownloadString, который выполняется синхронно. Я столкнулся с проблемами, когда внешняя веб-служба не отвечает на запросы, что приводит к тому, что мое приложение ASP.NET не истощается и не реагирует на запросы.
Каков наилучший способ устранить эту проблему? Существует метод DownloadStringAsync, но я не уверен, как вызвать это из контроллера. Нужно ли использовать класс AsyncController? Если да, то как взаимодействует метод AsyncController и DownloadStringAsync?
Спасибо за помощь.
есть ли способ добавить тайм-аут к асинхронному вызову webclient? –
Просто примечание, похоже, этот ответ был опубликован в 09 в MVC 1.0 дня. Теперь с MVC 2/3 ответ СЛУЧАЙНО отличается. Метод MapAsyncRoute ушел и больше не нужен. Кроме того, метод MyAction теперь должен быть переименован в MyActionAsync.В противном случае все работает одинаково. – BFree