0

我正在使用一个类来实现 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"));
4

1 回答 1

0

这里的一个关键点是您不是在注入 Membership 类,而是在注入 Membership PROVIDER。Membership 类是根据您的注册表项来初始化成员资格提供程序,并调用 intialize。Membership 类是一个静态类,您不能注入它(尽管您可以注入一个返回静态 Membership 类的包装类,但我看不到那里有很多好处)。

总的来说,我发现尝试让会员使用 DI 比它的价值更痛苦。

于 2012-05-03T20:03:57.937 回答