Auparavant, je n'utilisais pas d'interface pour mon référentiel générique. Quand j'extrait l'interface de mon référentiel générique, j'ai ajouté deux constructeurs: un parameterless et un des constructeurs paramétrés je reçois l'erreur suivante:Impossible de résoudre le contrôleur
{"Resolution of the dependency failed, type = \"NascoBenefitBuilder.Controllers.ODSController\", name = \"(none)\".
Exception occurred while: while resolving.
Exception is: InvalidOperationException - The current type, ControllerLib.Models.Generic.IGenericRepository, is an interface and cannot be constructed. Are you missing a type mapping?
-----------------------------------------------
At the time of the exception, the container was:
Resolving NascoBenefitBuilder.Controllers.ODSController,(none)
Resolving parameter \"repo\" of constructor NascoBenefitBuilder.Controllers.ODSController(ControllerLib.Models.Generic.IGenericRepository repo)
Resolving ControllerLib.Models.Generic.IGenericRepository,(none)"}
Mon contrôleur au début:
public class ODSController : ControllerBase
{
IGenericRepository _generic = new GenericRepository();
}
Après extraction l'interface et l'utiliser dans le contrôleur:
public class ODSController : ControllerBase
{
IGenericRepository _generic;
public ODSController() : this(new GenericRepository())
{
}
public ODSController(IGenericRepository repo)
{
_generic = repo;
}
}
Lorsque j'utilise un constructeur paramétré, c'est l'erreur de lancement mentionnée ci-dessus.
Quelqu'un peut-il m'aider à surmonter ce problème?