Я пытаюсь внедрить репозиторий в пользовательский поставщик членства с ninject в MVC 3.
В MembershipProvider я пробовал следующее:
[Inject]
public ICustomerRepository _customerRepository{ get; set; }
и
[Inject]
public TUMembershipProvider(ICustomerRepository customerRepository)
{
_customerRepository = customerRepository;
}
В моем модуле ninject я пробовал следующее:
Bind<MembershipProvider>().ToConstant(Membership.Provider);
Ни одно из вышеперечисленных работ.
Когда я использую (в global.asa)
kernel.Inject(Membership.Provider);
вместе с
[Inject]
public ICustomerRepository _customerRepository{ get; set; }
он работает, но у меня нет управления жизненным циклом, и это приведет к ошибке "ISession is open" от NHibernate, потому что ISession - это InRequestScope, а репозиторий - нет.