posted by 방랑군 2009. 9. 23. 14:19

Using Alternative Configuration Sources

You can also use any XML configuration file or other source of configuration information if required. For example, you can load configuration information into containers from a specific named configuration file by using the .NET Framework System.Configuration.Configuration class to retrieve the information from any XML formatted file. The following code shows how you can read configuration information from a file named MyConfig.config.


클래스 ExeConfigurationFileMap 

namespace System.Configuration

{

    // 요약:

    //     Exe.config 파일의 구성 파일 매핑을 정의합니다. 이 클래스는 상속될 수 없습니다.

    public sealed class ExeConfigurationFileMap : ConfigurationFileMap


참조 : Unity Application Block 1.2 - October 2008 Configuring Containers at Design Time

ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = "MyConfig.config";
System.Configuration.Configuration config 
  = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); 
UnityConfigurationSection section
  = (UnityConfigurationSection)config.GetSection("unity");
IUnityContainer container = new UnityContainer();
section.Containers["myContainer"].Configure(container);


- Unity Application Block 에서 사용 소스..

 private SysConfiguration OpenConfigFile(string baseName)

        {

            ExeConfigurationFileMap map = new ExeConfigurationFileMap();

            map.ExeConfigFilename = baseName + ".config";

            return ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);

        }