问题标签 [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 回答
1717 浏览

castle-windsor - 如何告诉 Windsor 向所有注册的实现 IMustBeIntercepted 的组件添加拦截器

如果我在 Windsor 注册了几个组件。

IAnimal 提供 BigAnimal IPerson 提供 SmellyPerson IWhale 提供 BlueWhale

等等..非常标准的组件注册

以上所有类型都实现了 IMustBeIntercepted,我如何告诉容器为所有实现 IMustBeImplemented 的类型添加一个拦截器,以便在调用 Resolve 时返回一个 BigAnimal,因为它匹配时定义了一个拦截器。我知道我可以为每一个都这样做,但我想避免它的额外 XML 配置或程序配置

0 投票
2 回答
2396 浏览

c# - Castle Windsor - 一个实现多个接口的类

我在应用程序启动时注册了我的两个接口:-

然后,当我尝试在此处使用第二个接口(ISnippetController)的对象上运行 IoC.Resolve 时,它​​会引发以下异常:-

无法创建组件“MyApp.Admin.Presenters.SnippetPresenter”,因为它需要满足依赖关系。MyApp.Admin.Presenters.SnippetPresenter 正在等待以下依赖项: 服务:-未注册的 MyApp.Admin.Controllers.ISnippetController。

如果我切换注册的顺序,它会抱怨它找不到 IEntityIndexController。因此,它似乎只获取一个类的第一个注册,然后忽略映射到同一个具体类的任何其他接口。

这里有什么明显的我想念的吗?(ps即时使用.net 3.5,温莎RC3)

0 投票
3 回答
6835 浏览

.net - 解决类而不使用 Castle Windsor 注册它们

采取以下无用程序:

UnityContainer 将返回一个 Program 实例,而 Windsor 容器将抛出 ComponentNotFoundException。

我可以看到这两种行为的论据并且不介意我最终得到的结果,但是 Prism V2 Drop 8(撰写本文时的最新版本)在内部依赖于 Unity 行为,请求尚未注册的类。

与其为 Prism 找到并注册所有这些类,不如让 Windsor 表现得像 Unity。我在谷歌上没有找到任何可以帮助我做到这一点的东西(尽管我的术语可能是错误的)而且温莎文档非常糟糕......

任何人都可以提出解决这个问题的方法吗?

0 投票
1 回答
1385 浏览

.net - Castle-Windsor Fluent Interface:如何注册所有接口的所有实现?

我有两个程序集EDC2.DALEDC2,其中 EDC2.DaoInterfaces 定义了一组接口,用于数据访问对象到 EDC2.Domain 命名空间中的对象。这些都是由 EDC2.DAL 中的类实现的。

所以举个例子:

我想使用 Windsor 的流利接口将 EDC2.DaoInterfaces 中的所有接口注册为由它们在 EDC2.DAL 中的相应实现者实现。

谁能告诉我该怎么做?

0 投票
2 回答
660 浏览

castle-windsor - 谁调用带有参数的构造函数(Castle.Windsor)

我正在按照在线教程学习 Castle.windsor。这是简单的示例代码:

HttpServiceWatcher 在 xml 配置文件中。我的问题是:谁在调用具有参数的构造函数:public Form1(Http....)?在 program.cs 我有这个:

0 投票
2 回答
727 浏览

c# - 在 WindsorContainer 上调用 AddComponent 时为什么要使用 key 参数?

IWindsorContainer 接口上的 AddComponent 方法有几个重载,例如:

关键参数有什么用,为什么要使用它?

0 投票
1 回答
2016 浏览

inversion-of-control - Castle Windsor 如何响应实现多个接口的类?

例如,我有两个接口:ICustomerService 和 IOrderService,每个接口都有几个函数,如 GetCustomer、GetOrder 等。

我想要一个类来实现这两个接口:服务器。

温莎城堡对此有何回应?一开始有可能吗?当我基于两个接口之一解析服务器对象时,我会得到相同的对象吗?当我有一个在其参数中具有两个接口的构造函数时会发生什么?是否仍会构造一个对象。

假设 LifeStyle 保留其默认值:Singleton。

0 投票
1 回答
438 浏览

.net - 温莎城堡:那么 ActAs 是做什么的?

我注意到 Castle Windsor fluent 组件注册接口有相当混乱的 ActAs() 方法。

谷歌搜索它,我发现的唯一参考是在他们的 wiki

TODO(可以记录的东西)

  • ActAs() 是做什么的?

不太有帮助。

来源似乎没有任何单元测试可以提供有关其用法的线索,而且我对他们的来源太不熟悉,无法自己告诉自己发生了什么。

有人知道更多吗?

0 投票
1 回答
1502 浏览

dependency-injection - Castle Windsor:如果创建的对象引用回工厂,如何防止工厂创建的对象中的循环引用

我正在使用温莎城堡作为我的 IoC 容器,但遇到了一些问题。这在代码中得到了最好的解释,所以我会试一试。我有一个工厂类,它应该为我提供某个接口的实现:

工厂类的实现可能如下所示,但我不确定这是要走的路: public interface ObjectCreatorFactory:IObjectCreatorFactory { IEnumerable specificCreators; IObjectCreator 默认创建者;

现在这样就可以了,但是如果我希望我的 IObjectCreator 实例使用特定的 IObjectCreator 创建子对象,我想调用 ObjectCreatorFactory,这显然会导致循环引用:

这行不通。在这种情况下,创建的对象将引用回工厂以供子对象创建者使用,该怎么做?

0 投票
3 回答
1566 浏览

asp.net-mvc - ASP.NET MVC 框架中的缓存

我在使用 ASP.NET MVC 框架方面相当陌生,并希望在缓存 MVC Web 应用程序的各个部分时能找到一些关于最佳实践的帮助。我知道堆栈溢出使用 MVC 和一些非常棒的缓存技术,而且它的 MILES 比我的应用程序快,即使在本地运行时也是如此。

我有几个问题。

  1. 缓存实际上是如何工作的,您如何“启用”它,以及各种选项是什么。最好使用哪种缓存?

  2. 我的应用程序有很多数据库事务,经常更改的列表。我担心页面刷新的及时性,因为用户没有获得最新版本的数据。在 Web 应用程序速度和显示“最新”数据之间取得平衡的最佳方法是什么?你们在处理这个问题时发现了哪些最佳实践?

  3. 如何使用不同的缓存设置缓存不同的部分(我假设视图)?我认为它可以用子控制器来完成,但我有 NFI 如何去做这件事。

  4. 我正在使用 Castle.Windor 与控制器的集成,我不确定这是否会改变任何东西。

  5. 任何其他需要注意/小心的注意事项的最佳实践将不胜感激。