【发布时间】:2011-09-04 00:33:11
【问题描述】:
嘿,这是我的第一篇文章,所以我请求理解。我看了很多帖子,但没有找到解决办法。
我想通过以下方式实现自定义会员提供者类:
namespace Mvc_car.Authorization
{
public class SimpleMembershipProvider : MembershipProvider
{
private NHibernateRepository<Uzytkownik> repo;
ISession session;
[Inject]
public SimpleMembershipProvider(ISession session)
{
this.session = session;
}
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
{
repo = new NHibernateRepository<Uzytkownik>(session);
base.Initialize(name, config);
}
我的绑定:
kernel.Bind<ISession>().ToMethod(x => MvcApplication.SessionFactory.OpenSession()).InRequestScope();
kernel.Bind(typeof(IRepository<>)).To(typeof(NHibernateRepository<>));
kernel.Inject(Membership.Provider); //either with or without that
我在 web.config 中进行了更改:
<membership defaultProvider="MyMembershipProvider">
<providers>
<clear/>
<add name="MyMembershipProvider" type="Mvc_car.Authorization.SimpleMembershipProvider"/>
</providers>
</membership>
尝试记录后出现以下错误:
在应用程序的预启动初始化阶段不能调用此方法。
【问题讨论】:
标签: nhibernate model-view-controller repository membership-provider ninject-2