思路话语

。Arlen:思想有多远你就能走多远...

Castle Windsor Container初用的一些问题

基本参照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

posted on 2008-03-05 23:17  Arlen  阅读(1599)  评论(0编辑  收藏  举报

导航