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

c# - Quartz.net + NHibernate + Windsor.Castle + CommonServiceLocator

我有一个基于Sharp-architecture框架的Web 应用程序。它实际上使用 NHibernate 作为 dal,并且我在 (VIEW-CONTROLLER) 和 DAL 之间添加了一个服务层。

我实际上需要实现一个调度程序来频繁地运行我的工作。我将使用Quartz.net来完成这项任务。其实我面临一个问题。因为我会有很多工作以不同的时间表运行,比如每 30 秒、每天、每周。

我想知道是否有办法在 Quartz 中使用服务注入来运行NHibernate,以及它是否支持作业并发,我的意思是如果两个作业同时运行,NHibernate 是否不会出现问题。我知道 NHibernate 和multithreading存在一些问题。

我找到了一个 Quartz.Net for Spring 的实现(http://www.zorched.net/2009/03/07/using-quartznet-springnet-and-nhibernate-to-run-scheduled-tasks-in-aspnet/)以及 Castle-Windsor 的实现(http://bugsquash.blogspot.com/2009/03/windsor-facility-for-quartznet.html)。

问题是,我认为这个例子没有考虑到作业可以同时运行的情况,这是一个 Nhibernate 问题。而且我想使用更高级别的CommonServiceLocator ,而不是将自己限制在一个IoC框架中。

解决这个问题的最佳方法是什么?

谢谢你的帮助

0 投票
2 回答
410 浏览

castle-windsor - 在 Castle Windsor 配置文件中存储密码?

我有以下内容:

我正在使用 <parameters> 从 Web.config 传递构造函数参数。有什么方法可以将加密的密码存储在 Web.config 文件中?其他建议?

0 投票
2 回答
2298 浏览

dependency-injection - 温莎城堡和自动注册

我是 Castle n00b,正在使用 Castle Windsor 中的 Fluent API 根据命名约定自动注册服务的实现(ISomething 由 Something 实现)。我想要支持的一件事是自动注册以获取位于单独 dll 中的依赖项,并自动注册这些依赖项。

所以:IFoo 由 Foo 实现(都在 Foo.dll 中),而 Foo 依赖于 Bar.dll 中的 IBar。

我编写了以下代码来实际执行自动注册。它似乎有效,但我想知道我自己是否做了太多工作。有没有更简单的方法来完成同样的事情?

0 投票
1 回答
901 浏览

c# - Windsor WCF 集成设施异步

我正在使用 Windsor WCF Integration Facility,并且正在寻找一种调用方法 asnyc 的方法。我正在考虑只使用后台工作人员并在完成时完成工作。有没有更优雅的方式来做这件事,我对选择的方式感觉不好。

我查看了以下电子邮件:来自 Krzysztof Koźmic的http://groups.google.com/group/castle-project-devel/browse_thread/thread/9250110e258ccdcd 。该解决方案似乎很棒,但是据我所知,它只是一个原型。

0 投票
3 回答
2425 浏览

api - Castle Windsor Fluent API:明确定义依赖关系

鉴于以下配置

如果我知道接口“I”公开了一个属性“P”,并且类 A 和 B 可以分配给 P;我如何明确声明来自 AllTypes 调用的第一个类型集合应该将属性 P 设置为 id 为“foo”的类型,而第二个集合应该将相同的属性设置为 id 为“foobar”的类型“?

使用 XML 配置,这可以通过使用 ${id} 符号显式设置参数来完成。我认为它在流畅的 API 中是相似的。

谢谢。

0 投票
6 回答
12205 浏览

inversion-of-control - 如何用城堡温莎覆盖组件?

我想在给定的 Windsor 容器中重新定义(默认)实现。这就是 OverWrite 的用途吗?不过,这不起作用。

还有其他想法吗?

干杯,拉斯

0 投票
0 回答
2731 浏览

c# - Castle.Windsor 使用拦截器注册所有类型

为什么以下不拦截使用 LogAspect 对 IBusinessService 的调用?

如果我使用 Component.For 语法注册 IBusinessService 的每个实现,那么它就可以工作。

0 投票
3 回答
3645 浏览

.net - IWindsorContainer 作为类的参数

我有一个类,我想访问我的 IOC 容器(Windsor),但是我不想保留一个静态的 IWindsorContainer 属性——我希望容器将自身注入到任何需要 IWindsorContainer 的类中构造函数依赖。

我已经用 Unity 完成了这个,但是当我对 Windsor 容器尝试同样的事情时,它告诉我 IWindsorContainer 没有在容器中注册。

我认为我不能只注册 IWindsorContainer => WindsorContainer,因为这将导致容器创建一个新的(或不同的)自身实例以传递给我的类,并且该实例不会注册我的所有其他类型它。我也看不到构造容器的方法,在其中注册所有类型,然后针对 IWindsorContainer 注册它自身的实例——所有注册方法只接受服务和实现的类型——从来没有一个实际的具体实例。

0 投票
3 回答
787 浏览

castle-windsor - Windsor MixIn 是单身人士?

我有一个 MixIn 需要一些状态才能运行。

我是这样注册的。。

当我调用 container.Resolve(of ICat) 时,我得到了 ICat 的代理,它也实现了 IMixin。

但是,如果我再次调用 container.Resolve(of ICat),我会得到一个新的 ICat 代理,但 MyMixin 是相同的实例。(这是有道理的,因为我没有告诉容器以任何方式创建 IMixin)

所以,IMixin 是一个 Singleton,尽管组件的生活方式是 Transient。

我如何通过 Fluent Interface 告诉 Windsor 为组件创建一个新的 MyMixIn 实例?

0 投票
4 回答
1361 浏览

c# - 如何在 Castle.Windsor 中配置提供多种服务的单个组件实例?

我想配置 Windsor 容器,以便单个、单例样式的实例可以通过容器提供两个或多个服务。

我发现在多个组件声明(基于 XML 的配置)中使用相同类型将导致创建该类型的实例以提供每个组件的服务接口,这不是我想要的行为。

例如:

我希望 AB 的一个实例同时提供 IA 和 IB 服务。

我想这样做的具体原因是我的具体 DAO 实现扩展了多个接口。另一方面,我有几个工作组件,它们包含对不同接口的引用。具体的 DAO 实例尊重这一点,但这些单独的工作组件的构造函数希望实现其单独的接口,我希望 Castle.Windsor 通过各自的服务请求将相同的对象实例传递给这些工作容器。

大声笑,我认为那很清楚!:P

有谁明白我的意思,有没有人知道如何通过组件的 XML 配置来实现这一点?