I m trying to convert some applications that use Ninject to Castle Windsor so that I can eliminate some dependencies.
我可以说明如何利用该集装箱实现某些Ninject功能。 风.的登记方法。
姓名(Ninject):
Kernel.Bind<ISessionProvider>().To<UnitOfWorkSessionProvider>();
Kernel.Bind<ISessionProvider>().To<ThreadSafeSessionProvider>()
.WhenClassHas<RequireThreadSafeSession>();
这说明 Ninject,在建筑商中建造一个有ISessionProvider的班子时,使用UniOfWorkSessionProvider,除非它有属性要求ThreadSafeSession,在这种情况下,它获得一个ThreadSafeSessionProvider。
问题一——能否在温莎做到这一点? 文件令人困惑。
问题2——如何做到这一点? 似乎像有条件约束一样,在“AllTypes”组合类别中是允许的,但使用模式并不透明。