将MembershipProvider与Windsor Castle一起使用

时间:2012-05-03 19:54:24

标签: asp.net asp.net-mvc-3 castle-windsor membership-provider

我正在使用一个类来实现Windsor Container MembershipProvider。我可以解决实现,但它不会调用从Web.config中提取值的Initialize方法。我如何实例化它并确保它调用Initialize方法?

添加到容器的代码

container.Register(Component.For<FNHMembershipProvider>()
    .LifeStyle.Transient
    .Named("myMembershipProvider"));

container.Register(Component.For<FNHRoleProvider>()
    .LifeStyle.Transient
    .Named("myRoleProvider"));

1 个答案:

答案 0 :(得分:0)

这里的一个关键点是你没有注入会员级别,你注入了会员提供者。 Membership类是根据您的注册表项实现成员资格提供程序的实例,并调用intialize。 Membership类是一个静态类,你不能注入它(虽然你可以注入一个返回静态Membership类的包装类,但我没有看到很多好处)。

总的来说,我觉得尝试让会员使用DI会让人感到更痛苦。