体验Castle中从配置文件注册组件以及传递参数的一个小例子
2006-01-13 11:25
519 查看
最近看了一些IOC模式的介绍以及关于Castle的文章,从网上下下来关于Introducing Castle PartI的例子,不过在运行的时候出现错误,老是提示"Could not resolve non-optional dependency for smtpemailsender. Parameter 'host' type String"。最后决定自己做个简单的例子来体验一下,要做就作最简单的,只有一个组件。所需要的Castle的库是Castle.Windor.dll,Castle.DynamicProxy.dll,Caslte.Model.dll,Castle.MicroKernel.dll.
using System;
namespace IOC.Test.Component
这里是调用的代码.
static void Main()
注意这里好象自己声明配置文件老是不生效,(我也正纳闷原因是啥呢,谁知道了告诉我)只有默认的配置文件才生效,对于Web的话,默认的是web.config,对于windows程序,默认是可执行程序名称.config.譬如我的可执行程序名字是IOC.Test.exe,那么默认的配置文件就是IOC.Test.exe.config,该文件和可执行程序放在同一个文件夹中。
配置文件的内容如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="castle"
type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,
Castle.Windsor" />
</configSections>
<castle>
<components>
<component id="myCompo1" Service="IOC.Test.Component.MyComponent1,IOC.Test"
type="IOC.Test.Component.MyComponent1,IOC.Test">
<parameters>
<name>rhf</name>
</parameters>
</component>
</components>
</castle>
</configuration>
好了,运行一下吧。这时候你将会看到,"Hello,My name is rhf".这么简单也是费了我好大的一番周折的,这里谢谢Hamment和fabio的热心帮助,详细讨论情况请看http://forum.castleproject.org/posts/list/0/356.page#1688
另外大家关于Castle有啥问题的话,可以上http://forum.castleproject.org需求帮助,好心的Hamment会帮助你的。
using System;
namespace IOC.Test.Component
这里是调用的代码.
static void Main()
注意这里好象自己声明配置文件老是不生效,(我也正纳闷原因是啥呢,谁知道了告诉我)只有默认的配置文件才生效,对于Web的话,默认的是web.config,对于windows程序,默认是可执行程序名称.config.譬如我的可执行程序名字是IOC.Test.exe,那么默认的配置文件就是IOC.Test.exe.config,该文件和可执行程序放在同一个文件夹中。
配置文件的内容如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="castle"
type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,
Castle.Windsor" />
</configSections>
<castle>
<components>
<component id="myCompo1" Service="IOC.Test.Component.MyComponent1,IOC.Test"
type="IOC.Test.Component.MyComponent1,IOC.Test">
<parameters>
<name>rhf</name>
</parameters>
</component>
</components>
</castle>
</configuration>
好了,运行一下吧。这时候你将会看到,"Hello,My name is rhf".这么简单也是费了我好大的一番周折的,这里谢谢Hamment和fabio的热心帮助,详细讨论情况请看http://forum.castleproject.org/posts/list/0/356.page#1688
另外大家关于Castle有啥问题的话,可以上http://forum.castleproject.org需求帮助,好心的Hamment会帮助你的。
相关文章推荐
- Struts2配置文件中传递参数的一个小问题
- Struts2配置文件中传递参数的一个小问题
- 一个理解js动态创建节点并注册事件及传递参数的例子
- Struts2配置文件中传递参数的一个小问题
- 关于SVN配置文件的一个小例子
- Autofac官方文档(四)【注册组件之将参数传递给注册者】
- 一个用C#编写的自动读写配置文件的开源组件
- parameter的参数传递功能以及一个很容易被忽略的小问题
- C++调用Lua读取配置文件的一个简单例子
- Caffe中文件参数设置(五):Blob,Layer,Net以及对应配置文件的编写
- log4j配置祥解--(2)参数说明以及配置例子
- 一个通过script自定义属性传递配置参数的方法
- 一个用来运行其他文件并传递参数的命令
- 用一个随项目启动而初始化的servlet读取配置环境,参数的properties文件
- web.xml配置文件详解以及web.xml 组件加载顺序
- Nginx 一个服务器多域名配置 以及 访问php文件直接下载而不运行
- 基于socket,实现用户注册,用户登录,以及文件上传的例子
- Autofac学习笔记之-配置文件实现组件注册
- 在asp.net 中应用POST传递和接收XML文件以及参数.
- struts2配置文件中url传递参数中文乱码处理