castle-windsor相关内容

使用Castle Fluent界面注册拦截器

我正在尝试实施通过拦截器进行的休眠事务处理,无法弄清楚如何通过流畅的机制来注册接口。 我看到了 Component.For()拦截器 但不确定如何使用。有人可以帮我吗? 此示例似乎有点复杂。 解决方案 您需要执行以下两个步骤: 您需要将拦截器注册为容器中的服务: contain ..
发布时间:2020-09-29 23:56:38 C#/.NET

Castle:如何在日志拦截器中获取正确的ILogger?

如果您在Castle Windsor中使用LoggingFacility,则如果您的班级中具有可选的记录器依赖项(Castle可以将记录器注入到的ILogger属性),则容器将自动解析与您的班级关联的记录器,但是我如何利用我是否想使用AOP(拦截器方法)实现日志记录?我基本上想写这样的东西: public void Intercept(IInvocation invocation) { ..
发布时间:2020-09-29 23:56:34 其他开发

使用Windsor进行常规存储库生命周期配置

我不知道如何配置适用于Windows应用程序中存储库的Windsor容器。 我有通用的存储库实现存储库,其中T是实体类型,它具有依赖项IDatacontextProvider,它为它提供数据上下文: 公共类存储库 :IRepository其中T:类 { 受保护的DataContext DataContext; public Repository(IDataContex ..
发布时间:2020-09-29 23:56:31 C#/.NET

在Castle Windsor中为所有接口实现注册拦截器

我对Castle Windsor还是陌生的,尤其是使用Interceptor,我想知道是否有可能在特定接口的所有实现中注册Interceptor,而无需依次指定每个实现。例如,我有一个名为 IComponent 的接口,该接口将由许多类实现。我编写了一个 ComponentInterceptor 类,以在这些类执行了特定方法后对其执行操作。我想做类似的事情: _container.Regi ..
发布时间:2020-09-29 23:56:29 其他开发

配置Castle Windosor和通用

这是我在Global.asax中的代码 WindsorContainer容器= new WindsorContainer(); container.Register(Component.For(typeof(IRepository)) .ImplementedBy(typeof(NHRepository)) .LifeStyle.Transient) 我尝试 ..
发布时间:2020-09-29 23:56:27 其他开发

如何覆盖在温莎城堡中注册的组件?

我只是从温莎开始,所以请保持柔和:)我有一种情况,我希望能够覆盖/替换放置在温莎容器中的组件。继续阅读... 在我的产品代码中,我希望能够注册一个实现基类的组件,并使用一个容器来解析实现者。到目前为止,使用 container.Register(Component.For()。ImplementedBy()); ..
发布时间:2020-09-29 23:56:22 C#/.NET

在运行时生成接口实现

我想问一下是否有一个库,该库可以在运行时生成接口的实现,并具有以下所示的一些其他功能。 假设我有这样的接口: interface ICustomer { string Name {get; set;} string IAddress {get; set; } } 接口IAddress { string Street {get; set;} } ..
发布时间:2020-09-29 23:55:59 C#/.NET

WPF +温莎城堡+ MVVM:Locator-DataContext

编辑: 我找到了一种方法来执行此操作,但是我不确定这是否是最佳方法。 在 WindsorContainer 初始化,首先我注册视图模型: container.Register(Component.For< ; CentrosViewModel>()。LifeStyle.Transient); 后来我注册视图 container.Register( ..
发布时间:2020-09-29 23:54:56 其他开发

温莎城堡问题

我的城堡核心存在问题,我试图将两个不同的数据库连接注入到特定的存储库。 公共类Repository1 { public Repository1(System.Data.Common.DbConnection conn){} } 公共类Repository2 { 公共Repository2(System.Data.Common.DbConnection conn){} } ..
发布时间:2020-09-29 23:54:50 C#/.NET

Castle Windsor:当程序集无法访问基础类型时,如何注册工厂方法?

我有一个项目,其中的业务层是使用DI构建的,但是我想进一步尝试使用Windsor来管理对象的构建。 只是说我有一个预先存在的数据层(我不想修改),可以通过以下界面进行访问: interface IDataFactory { IDataService Service {get; } } 我的业务层中的一系列类取决于通过IDataFactory公开的服务: ..
发布时间:2020-09-29 23:54:48 C#/.NET

基于温莎城堡中的名称约定动态解析

我有一个看似简单的用例。有一个ICsvReader组件。让我们在这里简单地命名为“读者”。我们加载了一组已知的CSV文件,其中有些带有标头,有些则没有。当前有多个读取器:Reader_Skips1Row,Reader_Skips2Rows等。 是否可以仅注册一个组件并使Windsor查看组件密钥,然后剥离“ _Skips”。 。”并使用相关属性集解决所需的组件? 我尝试了运气好的子分解 ..
发布时间:2020-09-29 23:54:43 其他开发

在远程方案中使用IOC

我正在努力让IOC在远程场景下工作。我已经设置了应用程序服务器来发布通过XML配置的服务(SingleCall)。 此工作方式众所周知, RemotingConfiguration.Configure(ConfigFile,true); 让我说我的服务看起来像这样(伪代码) 公共类TourService:ITourService { IReposito ..
发布时间:2020-09-29 23:54:36 C#/.NET

当您没有对容器的引用时,是否可以让温莎城堡解决属性依赖关系?

我们有一个解决方案,其中多个项目代表了我们应用程序的各个层。 例如 域 数据 逻辑 WebUI 我们的Castle Windsor容器是从我们的Web层引用的,然后将这些依赖关系进行级联通过我们的层。例如... //在域 公共接口IFooRepository { void做一点事(); } //数据中 公共类FooRepository:IFo ..
发布时间:2020-09-29 23:53:29 C#/.NET

温莎城堡-如何基于构造函数参数解析组件

说我有一个像这样的组件 public class MyComponent { public MyComponent(string名称) { } } 我基本上是想使提供的构造函数参数在解析时作为组件标识符的一部分。如果您从未使用那组参数来解析它,它将实例化一个新参数。 换句话说,我想以某种方式修改以下测试以使其成功: IWindsorCont ..
发布时间:2020-09-29 23:53:27 其他开发

如何在相同的上下文中使用Castle Windsor DI容器重用瞬态依赖项

如果我具有以下设置,当在相同上下文中创建对象时,如何配置容器以使用同一数据库 公共类数据库{} 公共接口IRepository {数据库数据库{get; }} 公共接口IFooRepository:IRepository {} 公共接口IBarRepository:IRepository {} 公共类FooRepository:IFooRepository { 公共数据库数据 ..
发布时间:2020-09-29 23:52:24 其他开发

温莎城堡类型化工厂设施

我正在尝试注册一个工厂,该工厂可以解决如下定义的事件处理程序数组: 公共接口IEvent {} 公共类EventA:IEvent {} 公共类EventB:IEvent {} 公共类EventC:IEvent {} 公共接口IHandler其中TEvent:IEvent { void Handle(TEvent ev); } 公共类Ha ..
发布时间:2020-09-29 23:52:22 其他开发