У меня есть сайт MVC4 с использованием Castle Windsor, к которому я хочу добавить некоторые вызовы WebAPI, поэтому я начинаю немного копаться в интерфейсах.
Теперь я не знаю входы и выходы IoC; Я последовал за учебником о том, как настроить Castle Windsor в моем проекте, введя IUnitOfWorkFactory
и IApplicationService
в качестве общедоступных свойств в базовом контроллере и несколько других интерфейсов по мере необходимости в конструкторах контроллера. Он работает плавно, поэтому мне больше не приходилось делать с ним.
Всюду, что я читаю на WebAPI, мне сказали, что DI не будет работать так хорошо, используя Castle Windsor, говоря о проблемах с IDependencyResolver
и IDependencyScope
. Существует несколько обходных решений и способов решения этой проблемы, но мне непонятно, в чем проблема. Фрагменты кода включены, но предположение, что вы знаете, к какому классу они принадлежат, и как они вызывают, к сожалению, я этого не делаю. Кроме того, все примеры, которые я видел в Интернете, относятся к эксклюзивному проекту WebAPI, а не к проекту MVC4 с разумным вводом пары ApiController
. Я не знаю, как, или если это влияет на что-либо.
Почему я не работаю с моими стандартными контроллерами, не работая с контроллером API? Какую акробатику кода нужно делать, чтобы вызовы WebAPI и стандартные веб-вызовы работали в одном приложении?