Asp.net 在Windsor Castle中使用MembershipProvider
我正在用一个类实现Windsor容器成员资格提供程序。我可以解析实现,但它不调用Initialize方法,该方法从web.config中提取值。如何实例化它并确保它调用Initialize方法 要添加到容器的代码Asp.net 在Windsor Castle中使用MembershipProvider,asp.net,asp.net-mvc-3,castle-windsor,membership-provider,Asp.net,Asp.net Mvc 3,Castle Windsor,Membership Provider,我正在用一个类实现Windsor容器成员资格提供程序。我可以解析实现,但它不调用Initialize方法,该方法从web.config中提取值。如何实例化它并确保它调用Initialize方法 要添加到容器的代码 container.Register(Component.For<FNHMembershipProvider>() .LifeStyle.Transient .Named("myMembershipProvider")); container.Regist
container.Register(Component.For<FNHMembershipProvider>()
.LifeStyle.Transient
.Named("myMembershipProvider"));
container.Register(Component.For<FNHRoleProvider>()
.LifeStyle.Transient
.Named("myRoleProvider"));
这里的一个关键点是,不是注入成员类,而是注入成员提供程序。Membership类是根据您的注册表项设置成员资格提供程序并调用Initialize的类。Membership类是一个静态类,虽然可以注入一个返回静态成员类的包装器类,但不能注入它,但我看不出有什么好处
总的来说,我发现让会员使用DI的痛苦远远超过了它的价值。不过,根据我的要求,我不得不使用DI。那么,我会创建包装器,将其注入我的控制器,然后将该包装器调用为GetUser、create user等吗?是的,就是这样。我想这就是您在mvc3应用程序的VS模板附带的应用程序框架中找到的方法。该模板不使用DI,但很容易弄清楚如何切换到DI。