Как зарегистрировать класс обслуживания с несколькими типами репозитория в файле 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?

Ответы на вопрос(0)

Ваш ответ на вопрос