IoC on Asp.NET WebAPI - Ninject
Recentemente passei por muitos problemas tentando implementar injeção de dependência (IoC) numa aplicação Web API C# com Ninject (WebCommon e WebAPI plugins).
Problema
Error activating ModelValidatorProvider using binding from ModelValidatorProvider to NinjectDefaultModelValidatorProvider
A cyclical dependency was detected between the constructors of two services.
Activation path:
3) Injection of dependency ModelValidatorProvider into parameter defaultModelValidatorProviders of constructor of type DefaultModelValidatorProviders
2) Injection of dependency DefaultModelValidatorProviders into parameter defaultModelValidatorProviders of constructor of type NinjectDefaultModelValidatorProvider
- Request for ModelValidatorProvider
Solução
A única forma que consegui resolver foi utilizando o Unity Converter. Aparentemente existem diversas issues abertas no GitHub para o Ninject.
https://docs.microsoft.com/pt-br/aspnet/web-api/overview/advanced/dependency-injection
Esse site da Microsoft descreve passo a passo como implementar o Unity Converter em uma aplicação Web API.
É importante falar que IoC é resolvido por padrão no .NET Core. Porém, existem diversos projetos antigos que ainda dependem dessas libs de Injeção de dependência.
Comentários
Postar um comentário