Cra*_*art 14 c# dependency-injection castle-windsor ioc-container
我在几个代码示例中看到人们使用IKernel而不是使用IWindsorContainer.为什么是这样?
这是一个例子:http://docs.castleproject.org/(S(kwaa14uzdj55gv55dzgf0vui))/ Windsor.Windsor-tutorial-part-two-plugging-Windsor-in.ashx
在上面的例子中,它来咬我,因为我添加了一个subresolver
Container.Kernel.Resolver.AddSubResolver(
new CollectionResolver(Container.Kernel, true));
Run Code Online (Sandbox Code Playgroud)
这将允许我注入集合......但它没有工作.我发现,因为IKernel正在使用它不能使用温莎的全部功能.为什么有人想要在整个容器上使用内核?我想如果您打算实施Windsor,请使用完整的容器.我错了吗?为什么?
Krz*_*mic 19
这有历史原因.最初Castle项目有两个容器:MicroKernel(IKernel)提供所有基本功能和扩展点,Windsor IWindsorContainer是MicroKernel的包装提供附加功能(如XML配置,代理等)并包装MicroKernel.
后来(在v2.5中)将这些合并为单个项目/程序集,但为了避免破坏现有用户,保留了区别.
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |