Как зарегистрировать класс обслуживания с несколькими типами репозитория в файле Bootstrapper?
Есть 4 параметризованных конструктора одного из моих сервисных уровней (ProductService). И все 4 конструктора вводятся с разными типами репозитория.
public class ProductService : IProductService
{
private IUserDal<Users> mUserDal { get; set; }
private IItemDal<Item> mItemDal { get; set; }
private IRoleDal<Role> mRoleDal { get; set; }
private IBranchDal<Branch> mBranchDal { get; set; }
public ProductService (IUserDal<Users> userDal)
{
mUserDal = userDal;
}
public ProductService (IItemDal<Item> itemDal)
{
mItemDal = itemDal;
}
public ProductService (IRoleDal<Role> roleDal)
{
mRoleDal = roleDal;
}
public ProductService (IBranchDal<Branch> branchDal)
{
mBranchDal = branchDal;
}
}
А такжеProductService Слой используется в некоторых классах Controller.
Я регистрирую этот класс ProductService в файле Bootstrapper.cs (Unity DI) со всеми его типами зависимостей. Но он не регистрируется должным образом. Некоторые примеры приведены ниже:
Тип 1:
container.RegisterType<IUserDal<Users>, UserDal>();
container.RegisterType<IItemDal<Item>,ItemDal>();
container.RegisterType<IRoleDal<Role>,RoleDal>();
container.RegisterType<IBranchDal<Branch>,BranchDal>();
container.RegisterType<IProductService,ProductService>();
Тип 2:
container.RegisterType<IProductService, ProductService>(new InjectionConstructor(typeof(IUserDal<Users>), typeof(IItemDal<Item>), typeof(IRoleDal<Role>), typeof(IBranchDal<Branch>)));
Но ни один из перечисленных выше типов не работает. Может кто-нибудь знает, как зарегистрировать какой-либо класс обслуживания с несколькими типами репозитория в файле Bootstrapper?