Dependency injection 如何在具有构造函数mvc的类上使用Unity实现DI?
假设我有一个这样的接口和类Dependency injection 如何在具有构造函数mvc的类上使用Unity实现DI?,dependency-injection,asp.net-mvc-5,unity-container,Dependency Injection,Asp.net Mvc 5,Unity Container,假设我有一个这样的接口和类 public interface ILienholderBusinessService { string GetCoverage(IList<PolicyVinRequest> InputList); } public class LienholderBusinessService : ILienholderBusinessService { public ILienholderPolicySear
public interface ILienholderBusinessService
{
string GetCoverage(IList<PolicyVinRequest> InputList);
}
public class LienholderBusinessService : ILienholderBusinessService
{
public ILienholderPolicySearchDataService LienholderPolicySearchDataService { get; set; }
public LienholderBusinessService(ILienholderPolicySearchDataService LienholderPolicySearchDataService )
{
this.LienholderPolicySearchDataService =LienholderPolicySearchDataService ;
}
public string GetCoverage(IList<PolicyVinRequest> InputList)
{
return "my string";
}
}
现在,当我尝试在MVC中实现unity时,我得到了如下错误
你缺什么类型的
如何在一个具有构造函数的类上使用Unity实现DI?您必须为所有需要解析具体类型的接口注册映射。根据发布的代码,这将是
ILienholderBusinessService
和ILienholderPolicySearchDataService
:
container.RegisterType<ILienholderBusinessService, LienholderBusinessService>();
container.RegisterType<ILienholderPolicySearchDataService, LienholderPolicySearchDataService>();
container.RegisterType<ILienholderBusinessService, LienholderBusinessService>();
container.RegisterType<ILienholderPolicySearchDataService, LienholderPolicySearchDataService>();
container.RegisterType<ILienholderPolicySearchDataService, LienholderPolicySearchDataService>(
new InjectionConstructor(typeof(IRepository<Policy>)));