您的位置:首页 > 移动开发 > Unity3D

Unity Application Block--通过配置文件读取映射

2009-02-20 13:34 169 查看
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("*****************************************************");


二、从外部配置文件中读取映射

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.从外部配置文件中读取映射");


三、App.config 内容


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
<section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common" />
</configSections>
<unity>
<containers>
<container name="containerTest">
<types>
<type type="UnityTest.ILog,UnityTest" mapTo="UnityTest.MessageLog,UnityTest"/>
</types>
</container>
</containers>
</unity>
<enterpriseLibrary.ConfigurationSource selectedSource="File Configuration Source">
<sources>
<add name="File Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common"
filePath="Config/control.config" />
</sources>
</enterpriseLibrary.ConfigurationSource>
</configuration>

[b]四、外部配置文件(external.config)内容 [/b]
<?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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: