随笔分类 -  Castle Windsor 学习历程

学无止境
摘要:所有的事件是实现IKernelEvents 接口,已容器的Kernel属性暴露出来 1. AddedAsChildKernel 当前的容器添加子容器或其他容器时触发 2. RemovedAsChildKernel 和上面相反 ComponentModel events 3. Registration 阅读全文
posted @ 2017-03-12 11:14 蓝平凡 阅读(337) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-03-12 10:57 蓝平凡 阅读(179) 评论(0) 推荐(0)
摘要:public class RequireLoggerProperties : IContributeComponentModelConstruction { public void ProcessModel(IKernel kernel, ComponentModel model) { model.Properties .Where(p =... 阅读全文
posted @ 2017-03-12 10:51 蓝平凡 阅读(236) 评论(0) 推荐(0)
摘要:[CastleComponent("GenericRepository", typeof(IRepository), Lifestyle = LifestyleType.Transient)] public class Repository : IRepository, IRepository { // some implementation } container.Register... 阅读全文
posted @ 2017-03-12 10:40 蓝平凡 阅读(352) 评论(0) 推荐(1)
摘要:应用程序中的很多组件都会依赖其他的服务组件,很多依赖一些不合法的组件或者容器中没有的组件,例如int类型、string类型、TimeSpan类型 Windsor支持以上的场景,注册API有DependsOn方法。该方法接收一个参数(由Dependency类的静态方法返回值提供) 1. 支持静态依赖 阅读全文
posted @ 2017-03-12 10:30 蓝平凡 阅读(620) 评论(0) 推荐(1)
摘要:注册多个组件 1.one-by-one注册组件可能是一项非常重复的工作,可以通过Classes或Types注册一组组件(你可以指定一些特定的特征) 三个步骤 注册多个类型通常采取以下结构 可以看成三个不同的步骤 1)选择程序集 第一步指定Windsor要扫描的程序集,可以使用如下方法(或者使用它的姊 阅读全文
posted @ 2017-03-11 19:19 蓝平凡 阅读(575) 评论(0) 推荐(1)
摘要:当使用XML配置的时候,可能要给组件指定各种各样的依赖 1。简单的参数 参数名称不区分大小写 简单的参数是指简单的类型,如基元类型,Uri,DateTime,TimeSpan,Type,Enum 或者 服务的重写,这些参数有它们值表达(简单的名称标签) 参数类型怎么匹配呢? Windsor不要求你指 阅读全文
posted @ 2017-03-11 18:39 蓝平凡 阅读(508) 评论(0) 推荐(1)
摘要:使用xml配置和fluent注册两种搭配使用需要注意的是: 如果先在WindsorContainer构造函数指明用xml配置进行注册,如下设置 如果先用fluent注册,则如下设置 阅读全文
posted @ 2017-03-11 01:29 蓝平凡 阅读(412) 评论(0) 推荐(0)
摘要:当从xml引用installer的语法如下 Windsor允许你省略一部分命名规则。如 甚至可以省略命名空间。如 当使用如上的简写语法时,Windsor将试图在应用程序域中的程序集(不包括BCL程序集)查找类型。如果你加载一些特殊的程序集(例如不在编辑期间进行依赖的程序集), 你可以在xml文件中配 阅读全文
posted @ 2017-03-11 00:55 蓝平凡 阅读(320) 评论(0) 推荐(0)
摘要:翻译 当使用依赖注入容器时,你首先要向容器中注册你的组件,Windsor使用installers(该类型实现IWindsorInstaller接口)来封装和隔离注册的逻辑,可以使用Configuration和FromAssembly来完成工作。 Installers是实现了IWindsorInsta 阅读全文
posted @ 2017-03-11 00:26 蓝平凡 阅读(4225) 评论(0) 推荐(2)