gpt4 book ai didi

c# - 为什么使用 IKernel 而不是 IWindsorContainer?

转载 作者:可可西里 更新时间:2023-11-01 07:55:12 25 4
gpt4 key购买 nike

我在几个代码示例中看到人们使用 IKernel 而不是使用 IWindsorContainer。为什么是这样?

这是一个例子:http://docs.castleproject.org/(S(kwaa14uzdj55gv55dzgf0vui))/Windsor.Windsor-tutorial-part-two-plugging-Windsor-in.ashx

在上面的例子中它开始咬我,因为我添加了一个子解析器

Container.Kernel.Resolver.AddSubResolver(
new CollectionResolver(Container.Kernel, true));

这将允许我注入(inject)集合...但是它没有用。我发现因为只使用了 IKernel,所以它无法使用 Windsor 的全部功能。为什么有人想要在整个容器上使用内核?我认为如果您要实现 Windsor,请使用完整的容器。我错了吗?为什么?

最佳答案

这是有历史原因的。 CaSTLe 项目最初有两个容器:MicroKernel (IKernel) 提供所有基本功能和扩展点,Windsor IWindsorContainer 是 MicroKernel 的包装器,提供附加功能(如 XML配置、代理等)并包装微内核。

后来(在 v2.5 中)将它们合并到一个项目/程序集中,但为了避免破坏现有用户,保留了区别。

关于c# - 为什么使用 IKernel 而不是 IWindsorContainer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com