ASP.Net Web API DependencyResolver - Framework, пытающийся разрешить многочисленные внутренние зависимости, которые меня не волнуют? - PullRequest
4 голосов
/ 29 марта 2012

Мой небольшой проект веб-API (размещенный через SelfHostHttpServer) имеет несколько зависимостей, которые я хочу внедрить в контроллеры. Для этого я реализовал IDependencyResolver и назвал httpConfig.ServiceResolver.SetResolver.

Это будет работать нормально, за исключением того, что мне кажется, что мне нужно удовлетворить внутренние зависимости, требуемые веб-API. При первом запуске я увидел, что необходимо разрешить фабрику контроллеров, поэтому я добавил экземпляр DefaultHttpControllerFactory в свой контейнер. Теперь, каждый раз, когда я обновляю страницу, она падает с неразрешенной зависимостью next , которую пытается решить инфраструктура.

Я поступаю неправильно, или я действительно должен попытаться угадать все реализации по умолчанию и пройти через этот цикл сбоев-исправлений-обновлений, чтобы выяснить, какие зависимости необходимы для работы инфраструктуры Web API правильно?

1 Ответ

5 голосов
/ 29 марта 2012

Что делает ваш распознаватель, если не может разрешить зависимость? Правильное поведение должно возвращать ноль. ASP.NET Web API DependencyResolver (httpConfig.ServiceResolver) внутренне использует два средства распознавания:

  • Тот, который вы установили через SetResolver (пользователь rosolver)
  • Встроенный DefaultServiceResolver

Если пользовательский распознаватель возвращает ноль для зависимости, тогда Web API возвращается к DefaultServiceResolver, который может обрабатывать все встроенные зависимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...