问题标签 [castle-windsor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1480 浏览

.net - 我在哪里可以找到为温莎城堡提供智能感知的 .xsd 文件?

我正在寻找一个 .xsd 架构文件以放入我的 Visual Studio 目录中,以便为 Castle Windsor IoC 容器的 xml 配置文件提供智能感知。我查看了下载的 Windsor 代码,并搜索了几种不同的方法。我看到很多人问同样的问题,但没有答案。谁知道有没有这样的文件?

0 投票
2 回答
1781 浏览

api - 如何访问 Castle Windsor 的 Fluent Interfaces API?

在让 Castle Windsor 的非 xml 配置正常工作时,我遇到了很多问题。与此同时,我看到越来越多的人通过 Windsor Container 流畅的界面提供建议。最后一天我一直在谷歌搜索,但我在任何地方都找不到这个 API。

我说的是关键的 .Register() 方法,它似乎是 IWindsorContainer 对象的扩展方法。似乎它可能在 Castle.MicroKernel.Registration 命名空间中,但我在任何地方都找不到相应的库!

另外,有什么地方可以找到这些东西的文档吗?


编辑: 我发现这里的示例项目中的 Castle.MicroKernel 副本比我使用的命名空间多(即使这个比我使用的要大 8 天,v1.0.0 而我的是 v1.0.3...),仍然无法找到 .Register() 方法或任何示例。

编辑:在 Bitter Coder 找到了一些流畅的界面示例,但没有可下载的示例,所以我仍然不知所措。

再次编辑:终于明白了。城堡温莎最新的源代码在这里,获取最新的成功构建,zip文件里面是一个bin目录。流畅的接口位于 Castle.Microkernel 内部(您可能还需要引用 Castle.Dynaproxy、Castle.Dynaproxy2 和 Castle.Windsor)。

PS这篇文章是“城堡流利的界面文档”的#1谷歌结果伤心的家伙,你需要继续下去。 蟋蟀啁啾那是什么?美好的。让我弄清楚这一点,然后我会继续下去。

0 投票
5 回答
72841 浏览

c# - 什么是温莎城堡,我为什么要关心?

我是一名长期的 Windows 开发人员,对 win32 和早期的 COM 有过初步了解。自 2001 年以来,我一直在使用 .NET,因此我非常精通 C# 和 CLR。在我开始参加 Stack Overflow 之前,我从未听说过温莎城堡。我已经阅读了温莎城堡的“入门”指南,但没有点击。

教这条老狗新技巧,并告诉我为什么要将 Castle Windsor 集成到我的企业应用程序中。

0 投票
3 回答
6974 浏览

c# - 为什么温莎城堡会抓住短暂的物体?

最近我注意到我的应用程序似乎正在消耗永远不会被释放的内存。在使用 CLRProfiler 进行分析后,我发现我正在使用的 Castle Windsor 容器正在固定对象。这些对象在配置 xml 中使用 Lifestyle="transient" 属性声明。

我发现如果我明确调用IWindsorContainer.Release(hangingObject),它将删除它的引用。

虽然这会导致问题,但我没想到CastleWindsor 使用瞬态生活方式对象会保留引用并有效地造成泄漏。在所有适当的地方插入显式的 Release 调用将是一项相当平凡且容易出错的任务。

你有没有看到这个问题,你对如何解决这个问题有什么建议吗?

0 投票
1 回答
366 浏览

dependency-injection - Castle-Windsor 运行时交换服务

假设我们将税务服务的接口定义为 ITaxService,并且我们获得了多个 TaxService 的实现(按地区),但是我想将特定的税务实现附加到来自特定地区的特定客户。

DI 在这种情况下会有所帮助吗?如何?“代码片段将不胜感激”

0 投票
1 回答
468 浏览

log4net - Binsor 和 log4net

我正在使用 Castle Windsor 和 Binsor 在我的应用程序中使用依赖注入。我不是任何一个方面的专家。通常我可以弄清楚如何让温莎屈服于我的意愿,但我发现 Binsor 要困难得多,尤其是因为我还没有找到任何合适的文档。

我正在尝试创建一个使用日志记录的 binsor 配置文件。我使用以下 binsor 代码配置日志记录:

这很好用,所有向容器注册并且将 ILogger 对象作为构造函数的参数的组件都将接收正确的 ILogger 实例。

但是,我现在要做的是为一个特定组件使用另一个记录器。我希望该组件记录到文件,而其他组件应该只记录到屏幕。我将如何使用 Binsor 代码表达这一点?

0 投票
0 回答
433 浏览

c# - 如何将对象而不是类型传递给 Windsor 容器?

我有以下课程:

这是演示者代码:

我想将当前实例传递ViewPageTPresenterviaWindsor而不是让它实例化一个新对象。我怎样才能做到这一点?谢谢。

0 投票
9 回答
14783 浏览

.net - 我应该使用哪个依赖注入工具?

我正在考虑在我们的用户界面中将 Microsoft Unity 用于我的依赖注入工具。

我们的中间层已经在使用 Castle Windsor,但我认为我应该坚持使用 Microsoft。

有人对最好的依赖注入工具有什么想法吗?

0 投票
7 回答
3970 浏览

inversion-of-control - Windsor Container:如何指定一个公共属性不应该被容器填充?

在实例化一个类时,Windsor 默认将类的所有公共属性视为可选依赖项并尝试满足它们。就我而言,这会创建一个相当复杂的循环依赖,导致我的应用程序挂起。

我如何明确告诉温莎城堡它不应该试图满足公共财产的要求?我认为一定有那个程度的属性。但是我找不到它,所以请让我知道适当的命名空间/程序集。

如果有任何方法可以在没有属性(例如 Xml 配置或通过代码配置)的情况下执行此操作,那将是更可取的,因为发生这种情况的特定库迄今为止不需要依赖于 castle。

0 投票
1 回答
193 浏览

.net - 温莎集装箱和内部属性

是否有任何解决方案如何初始化标记为“内部”的组件的属性?我应该为 InternalsVisibleTo 属性使用什么程序集名称,否则它不会有帮助?