Castle Windsor Container初用的一些问题

本文记录了使用Castle Windsor容器过程中遇到的问题及解决办法。包括缺少DLL文件、程序集加载错误等,并探讨了如何正确配置组件和Formator实例。
基本参照terrylee的介绍,但出了点意外。
1.引用的问题。
原文:“ 1 .新建一个C#工程,添加对以下Dll的引用

Castle.DynamicProxy.dll

Castle.MicroKernel.dll

Castle.Model.dll

Castle.Windsor.dll

”到CastleProject.org当下来的最新的for .net2.0的包中,一看bin下,没有Castle.Model.dll。有点傻眼了。
只能写写看少什么再加。
先把

Castle.DynamicProxy.dllCastle.MicroKernel.dllCastle.Windsor.dll添加到引用。
编译时提示未添加对文件Castle.Core.dll的引用。加上。
然后运行提示未能加载程序集Castle.DynamicProxy2.dll,找不到该文件。于将该文件拷到bin下。

运行通过。
输出:Output:[[welcom arlen]]xyz.txt

IWindsorContainer container = new WindsorContainer("http://www.cnblogs.com/Basic.xml");
            container.AddComponent("textlog", typeof(ILog), typeof(TextFileLog));
            container.AddComponent("textformator", typeof(IFormator), typeof(TextFormator));

            ILog log = (ILog)container["textlog"];
            log.Write("welcom arlen");

如果不用容器,则需这样写:
//IFormator formator = new TextFormator();
            //ILog log = new TextFileLog("xyz.txt", formator);
            //log.Write("welcom arlen");


发现用了Windsor Container后,不用再传个formator给log了,容器自动将这个TextFormator装载了。
问题:如果我Add了多个Formator,windsor怎么知道我要装载哪一个?可能它会默认加载第几个。那我要指定装载哪个怎么办?


源码solution:mysolution

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值