首页 > TAG信息列表 > castle-windsor

c#-使用温莎城堡解决混合开闭式泛型

我正在尝试使用Castle Windsor解决具有约束的混合开闭通用类型.如果Foo实现了IFoo<&gt ;,这应该能够解析所有开放的泛型: container.Register(Component.For(typeof(IFoo)).ImplementedBy(typeof(Foo)))); 我的情况稍微复杂一些: 我有以下Handler类: public abstract class Comma

CodeGo.net>温莎城堡:如何检索特定实例的代理?

我在项目中使用温莎城堡.某些注册的组件被拦截.因为组件是通过接口注册的,所以Castle Windsor会创建接口代理(Castle Windsor创建一个独立的类型,该类型实现接口并通过使用组合将其委托给实际实现).不幸的是,您不能在接口的实际实现中执行方法,因为会绕过代理. 有没有一种方法可以

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

我只是从温莎开始,所以请保持温柔:)我有一种情况,我希望能够覆盖/替换放置在温莎容器内的组件.继续阅读… 在我的产品代码中,我希望能够注册一个实现基类的组件,并使用一个容器来解析实现者.到目前为止,使用 container.Register(Component.For<LoggerBase>().ImplementedBy<DebugL

C#-温莎城堡(IOC)基础

我是温莎城堡的新人,正在尝试掌握基本知识… 我有以下代码… namespace WindowsBash.Models { public interface IShouter { string Display(); } public class Shout : IShouter { private IMessage _message; public Shout(IMess

c#-Caslte Windsor代理生成选项

我一直在努力地在网上找到任何东西,所以我想我想看看是否有人知道如何解决我遇到的这个小问题. 我想创建一个代理对象,以便可以将其他各种接口添加到同一对象中.到目前为止,我对此还没有任何问题.我的其他要求之一是能够在代理生成的类上设置属性. 我已经能够使用Castle DynmaicPro

解析使用动态加载的DLL的Castle Windsor的控制器

加载Web应用程序后,Castle Windsor无法找到控制器.找不到路径“”的控制器或未实现IController.当我查看内核时(在CustomControllerFactory中),我看到所有控制器都已正确注册. MVC主应用程序加载其他3个DLL.当我们在Visual Studio中直接引用DLL并加载插件类型时,它就起作用了.但是,

c#-向Castle Windsor注册AutoMapper 5.1.1

我正在尝试向CastleWindsor注册AutoMapper 5.1.1,但我不知道在哪里正确调用Mapper.Initialize(). AutoMapper配置文件: namespace AutoMapper_DI.Mappings { public class WebMappingProfile : Profile { public WebMappingProfile() {

c#-温莎城堡-价值注入

温莎城堡可以增值吗? 例如,假设我有一个Employee的模型对象,该对象具有要自动映射到描述MVC视图的接口的属性. 我想要一种当模型数据更改时将Employee.FirstName自动设置为IEmployeeView.FirstName的方法. 现在我正在使用ValueInjecter,但是如果Windsor可以,我想放弃对程序集的依赖.

c#-温莎城堡如何工作?是否包装所有已注册的对象?

温莎城堡是否基本上会创建所有已注册对象的列表,然后使用它们自己的实现包装它们,这些实现基本上将属性与已在温莎已注册的对象自动关联起来? 很好奇,这会使反编译更难阅读吗?解决方法:不,温莎不会那样做,实际上我所知道的IoC容器都不会那样做.容器通常使用反射和配置(约定或显式配置

城堡动态代理中断EventWiring侦听器

故事以这种方式开始,我使用了Castle EventWiring工具来定义类中事件的侦听器,并且效果很好,我曾经引发过这样的事件: if (null != BlaBlaEvent) { BlaBlaEvent(someData); } 最近,我遇到一个业务需求,并认为最好的解决方案可能是使用代理模式,因此我在我的IoC解析功能(Castle

导致错误“看起来像您忘记注册http模块Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule”的原因?

我使用Castle.windsor和owin在webapi2中进行了一些DI工作.这是相关代码: [assembly: OwinStartup(typeof(Bla.Startup))] namespace Bla { public class Startup { public void Configuration(IAppBuilder app) {

c#-温莎单例的这种依赖关系线程安全吗?

无论如何,我都不是异步编程方面的专家,所以我想验证我是否有问题. 我有一个Web API应用程序,该应用程序使用Castle Windsor,但也对某些ASP.NET函数使用了内置的HttpConfiguration.Services管道.在这种情况下,我正在注册一个全局异常处理程序.这是代码: protected void Application_

c#-温莎城堡拦截器和按公约注册

我目前正在使用Castle Windsor来管理我的应用程序的依赖关系. 我目前正在使用Classes.FromAssemblyContaining来注册给定类型IFoo的所有组件.并希望为所有这些类注册一个拦截器. 当我注册单个组件时,我可以使拦截器正常工作: public void SetUpContainer(IWindsorContainer contain

c#-温莎城堡-汽车不满足实现类型的一般约束

我使用城堡温莎进行依赖注入,并尝试注入一些通用类型.但是,当我在容器上调用resolve时,出现以下错误- Class doesn’t satisfy generic constraints of implementation type. 在此示例中,我现在传递的是简单的Car类型. public class CreateRequestInstance<T> where T : class,

春天和@ windsor城堡里面有@predestroy之类的东西

在弹簧框架中有什么像@PreDestroy?解决方法:如果你定义一个实现DisposableBean接口的bean,那么Spring将调用它 void destroy() throws Exception; 在destry bean之前的方法. 这是一种方式,另一种方法是当你的bean不必实现给定的接口时. 在你的一个ConfigurationSupport类中,你的be

c# – Castle Windsor Inline依赖项

我需要使用castle-windsor的Inline Dependencies功能. 我需要在依赖链中注入特定组件.我有这种情况. static void Main(string[] args) { var container = new Castle.Windsor.WindsorContainer(); container.Register( Component.For<IHigherBusiness>()

c# – 使用Castle Windsor单例是一种在ASP.NET中缓存只读数据的有效方法

我有一个.NET类初始化一些固定的只读参考数据.如果我在ASP.NET中的Castle Windsor中将此类实例化为Singleton,那么可能所有通过瞬态Web调用访问此类的尝试都将从内存中的参考数据的单个实例读取. 这是一种有效的方法吗?有什么缺点吗?解决方法:绝对是一种有效的方法. 我认为只有缺点是

c# – 限制Windsor容器解析基于的对象

我想创建一个容器,它将允许解析ISomeService,但不能解析ISomeOtherService.即使我对ISomeService的注册依赖于ISomeOtherService. 那有意义吗? public interface ISomeService {} public interface ISomeOtherService {} public class SomeService : ISomeService { public S

c# – web api控制器和城堡windsor生活方式

在web api控制器功能中,我使用两种服务,因为它们做独立的东西,我希望它们使用不同的工作单元(事务). 所有必要的组件(工作单元,存储库)都通过带有LifestylePerWebRequest的城堡windsor注入. 据我所知,解决方案是使用LifeStyleScoped但我有两个问题: >我希望LifeStyleScoped仅适用于

c# – 循环依赖树,是否合理

我想出了一些解决方案,我的IoC / DI容器(Castle Windsor)声称有一个循环依赖树.这是真的.但我不确定这个循环是否有害. 这或多或少是依赖树: > WebAPI控制器取决于…… > ……服务A取决于……> ……工作单位取决于……> ……存储库取决于……> …域事件管理器(1)依赖于很多…> …域

c# – 在Castle Windsor注册通用类型

目前我有一个安装程序,代码如下: container.Register(Component.For<EntityListResolver<Unit>>() .ImplementedBy<EntityListResolver<Unit>>()); container.Register(Component.For<EntityResolver<Unit>>() .ImplementedBy<En

c# – Castle Windsor命名空间冲突

假设我在一个名为Org.Company的名称空间内工作,并且该名称空间包含MyClass. 我还使用名为OtherClass的类导入名为Company的名称空间的nuget. 因此,当我在Org.Company命名空间内工作时,我无法执行以下操作: Company.OtherClass obj; 因为编译器假定我的意思是: Org.Company.Otherclass

c# – 如何构造函数 – 注入仅在运行时已知的字符串? (温莎城堡)

我有一个依赖于字符串的类: public class Person { private readonly string _name; public Person(string name) { if (name == null) throw new ArgumentNullException("name"); _name = name; } } 该字符串’name’仅在运行时才知道,例如.它

c# – 带城堡windsor的dll插件架构

我有一个IPlugin接口和一个IPluginFactory我想要做的是能够在运行时添加新的IPlugin实现(例如,将一个带有新实现的Dll添加到“Plugins”文件夹中). 我正在使用Castle Windsor作为我的IoC容器,我正在使用TypedFactory工具来实现IPluginFactory.所以这是我的问题: 如何在运行时在winds

c# – 为什么我不能在Windsor中为多个接口注册一个类?

我正在尝试注册所有实现我的IProcess< T1,T2>的类.与温莎的接口.为此,我在安装程序中有以下代码: // Register all implemented process interfaces var procTypes = AppDomain.CurrentDomain .GetAssemblies()