问题标签 [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 投票
3 回答
9746 浏览

c# - 温莎城堡在哪里以及如何建立伐木设施

我是温莎城堡的新手,正在调查伐木设施的进出。这似乎相当令人印象深刻,但我唯一无法解决的是 Windsor 在我的类上设置 Logger 属性的位置。如以下代码所示,如​​果尚未设置类但在 Resolve 完成运行时设置了 Logger 属性,则将 Logger 设置为 nullLogger。

所以我想知道的是 Windsor 如何以及在何处设置我的 Logger 属性。

干杯安东尼

0 投票
5 回答
11669 浏览

asp.net-mvc - 看起来您忘记使用 IIS7 向 Windsor Castle 注册 http 模块

我在我的一个 MVC 项目中使用了 Windsor DI 框架。当我尝试从 Visual Studio 2008 运行时,该项目运行良好。

但是当我尝试运行在 IIS7 中创建应用程序的项目时,我收到以下错误消息:

看起来您忘记注册 http 模块 Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule 添加 '<add name="PerRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.MicroKernel" />' 到您网站上的部分。配置

但是这个模块已经存在于 web.config 文件的 httpmodule 部分。

有谁知道我必须做些什么来消除这个问题。

0 投票
1 回答
943 浏览

inversion-of-control - Castle Windsor 是否允许解析值类型?

我正在尝试将参数传递给需要 System.TimeSpan 的组件。我只能解决“长滴答声” ctor。

这是配置文件的片段:

这是一个例外:

为组件参数传递刻度值是可行的,如下所示:

但这违背了目的。

0 投票
1 回答
1256 浏览

inversion-of-control - Castle-Windsor 是否通过 XML 配置支持 ForwardedTypes

我有一个实现多个接口的类。我想通过 XML 注册这些接口。我找到的只是新 Fluent Interface 的文档。此选项是否通过 XML 支持?添加此功能将涉及什么?

0 投票
5 回答
11950 浏览

asp.net - 如何将 Castle Windsor 与 ASP.Net Web 表单一起使用?

我正在尝试将 Windsor 的依赖注入连接到标准的 asp.net 网络表单。我想我已经使用 HttpModule 和 CustomAttribute(代码如下所示)实现了这一点,尽管该解决方案似乎有点笨拙,并且想知道 Windsor 是否有更好的现成支持解决方案?

这里有几个文件一起显示

0 投票
4 回答
923 浏览

castle-windsor - IoC 容器适用性/场景演示?

.NET 领域的很多人都选择了 Castle Windsor 并在他们的项目中实现它,在过去的一年里,我一直在努力弄清楚为什么 IoC 容器似乎被视为一般的“最佳实践”?我已经阅读了很多关于温莎之类的原因的摘要和简要解释,但每一个都确实是抽象的,对于我接触过的大多数项目来说似乎并不实用,但最近我一直遇到很多使用温莎的项目,我不明白为什么。

C#/.NET 固有地支持基于接口的编码、抽象对象、委托和事件。可以直接从核心语言实现 IoC,并使用反射等实例化实现已知接口的未知实例,而无需求助于 IoC 容器库。

在应用 YAGNI/AYGNI(你会需要它吗?)时,我觉得温莎被过度使用了。我当然可以看到 IoC 容器的好处,但我觉得这些好处是以额外的依赖项和元数据为代价的(在核心代码中调用的 IoC 容器特定属性和方法、分散在各处的 .config 文件、app.config/web.config填充了绑定标签,使 .config 文件更难编辑等),所以我试图找出权衡。

也就是说,我接受了我在无知上做出所有这些观察/陈述的可能性,因为我从未大量参与过使用 Windsor 或其他 IoC 容器库的项目。我真正需要的是让某人演示一个使用 IoC 容器库的“平均”或“典型”项目,以及为什么这应该是“最佳实践”,而在我看来,这会让原本干净的项目变得混乱具有依赖项和元数据。

如果有人知道任何可以填满我的博客文章、文章或书籍,那就太好了。

(我不是为了争论而争论,而是因为我真的很想接受关于我是否应该在 IoC 容器方面进行自我教育的教育)。

0 投票
1 回答
4539 浏览

c# - 从 Windsor Container 中删除或覆盖组件

我正在尝试完成一件看似超级简单的事情:从我的单元测试中,我想用模拟/假对象替换正在解析的类型。

例如:xml 配置声明服务 IInterface 的组件应解析为 ClassA。很好,但是从我的单元测试中,我希望类型解析为 FakeClassA。我不能为此使用 container.AddComponent,因为“已经为给定键注册了一个组件......”。

0 投票
3 回答
3600 浏览

dependency-injection - 与城堡温莎的多接口注入

当容器中有多个实现时,如何让 Castle Windsor 在运行时选择正确的接口植入。

例如,假设我有一个名为 IExamCalc 的简单界面,它可以计算某人在考试中的表现。

不,我们有几个这样的实现,例如,

假设正在通过 Windor 重新使用 ExamMarkService 我如何确保在构造函数中注入了正确的实现,这是多租户问题的一个例子吗?

希望一切都有意义

科林·G

0 投票
3 回答
1019 浏览

.net - Castle Windsor 可以在子目录中定位文件吗?

我有一个使用 Castle Windsor 的富客户端应用程序。目前,包括应用程序 exe 在内的所有程序集都在一个文件夹中,但看起来都很不整洁。我想将我的 dll 放在诸如“bin”之类的子文件夹中,但这会阻止 Castle 在调用时定位类型等。事实上,应用程序在启动时崩溃。

有没有办法告诉 Castle 在其他地方寻找文件?

0 投票
3 回答
917 浏览

nhibernate - 托管网站上的 nHibernate 性能缓慢

我有一个由公共托管公司托管的 web 应用程序,该站点尚未上线,我仍在对其进行一些测试。我正在使用 nHibernate 和 Windsor Castle Container 进行依赖注入,并且该站点似乎不时响应非常缓慢。我已经联系了支持人员,但他们说这是我的应用程序而不是他们的服务器。在公共托管公司托管时,是否有人在基于 ORM 的网站上遇到过类似的性能问题?

另外,您会推荐哪些托管公司来托管网站?我尝试了godaddy,但无法使用它们,因为它们不允许以完全信任的方式运行网站,这显然是nHibernate 所必需的。


我使用 xml 配置文件配置了 nHibernate,以下列方式打开会话:

同样在Application_Start我有以下代码: