相关疑难解决方法(0)

使用Ninject将存储库注入自定义成员资格提供程序

我正在尝试使用MVC 3中的ninject将存储库注入自定义成员资格提供程序.

在MembershipProvider中,我尝试了以下内容:

[Inject]
public ICustomerRepository _customerRepository{ get; set; }
Run Code Online (Sandbox Code Playgroud)

[Inject]
public TUMembershipProvider(ICustomerRepository customerRepository)
{
    _customerRepository = customerRepository;
}
Run Code Online (Sandbox Code Playgroud)

在我的ninject模块中,我尝试了以下方法:

Bind<MembershipProvider>().ToConstant(Membership.Provider);
Run Code Online (Sandbox Code Playgroud)

以上都不是.

当我使用(在global.asa)

kernel.Inject(Membership.Provider);
Run Code Online (Sandbox Code Playgroud)

和...一起

[Inject]
public ICustomerRepository _customerRepository{ get; set; }
Run Code Online (Sandbox Code Playgroud)

它有效,但我没有生命周期管理,这将导致NHibernate的"ISession is open"错误,因为ISession是InRequestScope而存储库不是.

asp.net-mvc ninject-2 asp.net-mvc-3

18
推荐指数
2
解决办法
3871
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-3 ×1

ninject-2 ×1