У меня есть решение с приложением MVC и веб-API. Они находятся в отдельных проектах и доменах (с использованием CORS). Я создал его как веб-API, чтобы иметь возможность добавлять потребителей, но в настоящее время мое приложение MVC является единственным потребителем. Таким образом, я обсуждаю, использовать ли HttpClient внутри моего контроллера MVC или напрямую создавать экземпляр ApiController.
В любом случае я использую внедрение зависимостей (Autofac), поэтому я также хотел бы знать, как это настроить, потому что ни HttpClient, ни ApiController не имеют какого-либо интерфейса, который я могу внедрить через параметры конструктора, как обычно, поэтому я не уверен, как справиться с этим.
Какими должны быть области жизненного цикла внедренного экземпляра? HttpClient, вероятно, должен быть Singleton, поскольку не рекомендуется удалять его после каждого запроса.
ПРИМЕЧАНИЕ При вызовах API возвращаются большие наборы данных, используемые для заполнения диаграмм, поэтому я немного отказываюсь от HttpClient, так как чувствую, что при использовании Http возникнут дополнительные накладные расходы. Это антипаттерн для прямого создания экземпляра ApiController?
Спасибо
ApiController
решит вашу проблему, почему бы вам не перенести логику изApiController
в отдельный класс службы и просто внедрить службу и использовать ее с обоих ваших контроллеров? - person nemesv   schedule 07.04.2013