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

本文介绍如何使用Unity容器从应用程序配置文件(app.config)及外部配置文件(external.config)中读取映射信息。主要包括两种方式:一是从app.config读取,二是从外部配置文件读取。并提供了具体的代码实现及配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-
  •  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 内容

ContractedBlock.gif ExpandedBlockStart.gif 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>


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

ContractedBlock.gif ExpandedBlockStart.gif 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

转载于:https://www.cnblogs.com/keebing/archive/2009/02/19/1394185.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值