因此,在阅读有关注射到自定义成员提供的可能性远,我发现了两种可能的方式做到这一点:
是下列其中一项: http://bugsquash.blogspot.com/2010/11/windsor-managed-membershipproviders.html
下面笔者基本上建议注册您的自定义提供程序,然后有一个相当可疑的温莎适配器会员(我真的不喜欢在使用容器从得到它的实例您的提供方式HttpApplication
,它最终与包裹温莎适配器)。
这是另一个类似的选项: http://code.google.com/p/webdotnet/source/browse/trunk/Steeg.Framework/Web/Security/MemberShipProvider.cs?r=2
当你只是重写Initialize()
有手动实例的依赖关系。 至少在第一个,你不用手(不是提供者本身以外)都需要实例依赖关系。
有那么几个也建议使用某种类型的服务定位器(MVC的或其他方式)
然后,我遇到ninject注入依赖于性能上Membership.Provider
喜欢的东西比较容易_kernel.Inject(Membership.Provider)
这是更接近我想要的东西,保持它吸引我首先使用DI组成根概念。
我怎样才能使用城堡实现类似的结果呢?
更新:显然这与生命周期管理的问题。 注入库与Ninject定义成员资格提供
我应该去选择#1呢? 至少在我的实例提供者自己。 所以生命周期管理不应该是一个问题。