首页 / 软件开发 / .NET编程技术 / Castle IOC容器组件生命周期管理
Castle IOC容器组件生命周期管理2011-01-31 cnblogs terrylee主要内容1.生命处理方式2.自定义生命处理方式3.生命周期处理一.生命处理方式我们通常创建一个组件的实例使用new关键字,这样每次创建出来的都是一个新的实例,如果想要组件只有一个实例,我们会使用Singleton模式。在Castle IOC中,它支持我们对于组件的实例进行控制,也就是说我们可以透明的管理一个组件拥有多少个实例。Castle IOC容器提供了如下几种生命处理方式:l Singleton:一个组件只有一个实例被创建,所有请求的客户使用程序得到的都是同一个实例,同时这也是Castle IOC容器默认的一种处理方式。l Transient:这种处理方式与我们平时使用new的效果是一样的,对于每次的请求得到的都是一个新的实例。l PerThread:对于每一个线程来说是使用了Singleton,也就是每一个线程得到的都是同一个实例。l Pooled:对象池的处理方式,对于不再需用的实例会保存到一个对象池中。l Custom:自定义的生命处理方式。我们可以通过以下两种方式来指定组件的生命处理方式,如果不指定,则为Singleton方式:1.使用配置文件<!--出处:http://terrylee.cnblogs.com-->
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<components>
<component id="comp1" lifestyle="transient">
<parameters>
<para>component1 para</para>
</parameters>
</component>>
</components>
</configuration>
2.使用Attribute特性//出处:http://terrylee.cnblogs.com
[Transient]
public class MyComponent
{
public MyComponent()
{
//
}
public MyComponent(string _Str)
{
//
}
}