NinjectHttpApplication не работает после портирования на web api 2
Я портировал приложение Web Api на Web Api 2 и установил ninject web api pacckage. Но теперь я получаю сообщение об ошибке:
Error activating ModelValidatorProvider using binding from ModelValidatorProvider to NinjectDefaultModelValidatorProvider
A cyclical dependency was detected between the constructors of two services.
Ответы
Ответ 1
У меня была такая же проблема. Я получил его, когда добавил Ninject.Web.WebApi в качестве пакета Nuget.
Чтобы устранить проблему, мне пришлось удалить обходной путь, который был ранее реализован.
В предыдущем обходном пути я установил средство определения зависимостей в NinjectWebCommon на пользовательский класс, который реализовал IDependencyResolver.
Короче говоря, если у вас есть строка, похожая на GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);
в NinjectWebCommon CreateKernel()
, удалите ее.
Ответ 2
Не удалось заставить его работать. В качестве обходного решения только что удалили пакет Ninject.Web.WebApi полностью и теперь с помощью ручного анализатора зависимостей api для apin для ninject.
Честно говоря, это так просто, что я действительно не вижу причины использовать этот пакет nuget для интеграции с ninject.