-
Unity Application Block--通过配置文件读取映射
一、从应用程配置文件中读取映射
IUnityContainer containerConfig
=
new
UnityContainer();
UnityConfigurationSection section =
(UnityConfigurationSection)ConfigurationManager.GetSection( " unity " );
section.Containers[ " containerTest " ].Configure(containerConfig);
ILog log = containerConfig.Resolve < ILog > ();
log.WriteLog( " 1.从应用程配置文件中读取映射 " );
log.WriteLog( " ***************************************************** " );
UnityConfigurationSection section =
(UnityConfigurationSection)ConfigurationManager.GetSection( " unity " );
section.Containers[ " containerTest " ].Configure(containerConfig);
ILog log = containerConfig.Resolve < ILog > ();
log.WriteLog( " 1.从应用程配置文件中读取映射 " );
log.WriteLog( " ***************************************************** " );
二、从外部配置文件中读取映射
IUnityContainer containerExternal
=
new
UnityContainer();
FileConfigurationSource configExternal = new FileConfigurationSource( " external.config " );
UnityConfigurationSection sectionExternal =
(UnityConfigurationSection)configExternal.GetSection( " unity " );
sectionExternal.Containers[ " containerExternal " ].Configure(containerExternal);
ILog logExternal = containerExternal.Resolve < ILog > ();
logExternal.WriteLog( " 2.从外部配置文件中读取映射 " );
FileConfigurationSource configExternal = new FileConfigurationSource( " external.config " );
UnityConfigurationSection sectionExternal =
(UnityConfigurationSection)configExternal.GetSection( " unity " );
sectionExternal.Containers[ " containerExternal " ].Configure(containerExternal);
ILog logExternal = containerExternal.Resolve < ILog > ();
logExternal.WriteLog( " 2.从外部配置文件中读取映射 " );
三、App.config 内容
























四、外部配置文件(external.config)内容


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
</configSections>
<unity>
<containers>
<container name="containerExternal">
<types>
<type type="UnityTest.ILog,UnityTest" mapTo="UnityTest.MessageLog,UnityTest"/>
</types>
</container>
</containers>
</unity>
</configuration>
完整源代码:UnityTest