Unity加載配置文件的兩種方式


1、當前AppDomain的配置文件(App.config或Web.config,通過AppDomain.CurrentDomain.SetupInformation.ConfigurationFile獲得):

1 IUnityContainer unityContainer = new UnityContainer();
2 unityContainer.LoadConfiguration();

LoadConfiguration默認會加載沒有命名的container,可以通過傳遞特定的containerName加載指定的container。

配置示例:

<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
  <configSections>
    <section name=”unity” type=”Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration”/>
  </configSections>

  <unity xmlns=”http://schemas.microsoft.com/practices/2010/unity”>
    <container>

    </container>
    <container name=”container1″>

    </container>
  </unity>
</configuration>

2、顯示加載指定的配置文件,通過ExeConfigurationFileMap指定文件路徑:

1 ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
2 fileMap.ExeConfigFilename = “Unity.config”;
3 
4 Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
5 UnityConfigurationSection section = (UnityConfigurationSection)configuration.GetSection(“unity”);
6 
7 IUnityContainer unityContainer = new UnityContainer();
8 
9 unityContainer.LoadConfiguration(section);

LoadConfiguration是IUnityContainer的擴展函數,在Microsoft.Practices.Unity.Configuration.dll中的Microsoft.Practices.Unity.Configuration namespace下定義的UnityContainerExtensions。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM