我想团结在我的应用程序整合,我想它使用外部配置文件ASP.NET - 团结 - 阅读从外部配置文件配置部件
的统一初始化代码
var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = "unity.config" };
System.Configuration.Configuration configuration =
ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
// *** problem starts here ***
var unitySection = (UnityConfigurationSection)configuration.GetSection("unity");
var container = new UnityContainer().LoadConfiguration(unitySection);
此外,我有以下内容
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="IEmailConfigurator" type="Server.Common.Interfaces.IEmailConfigurator, Server.Common" />
<alias alias="EmailConfigurator" type="Server.Common.EmailConfigurator, Server.Common" />
<namespace name="Server.Common.Interfaces" />
<namespace name="Server.Common" />
<container>
<register type="IEmailConfigurator" mapTo="EmailConfigurator" />
</container>
</unity>
的问题是,在这里我想加载unitySection,GetSection(行)返回团结,名为“unity.config”外部配置文件 空值。
可能是什么问题?
EDIT
我加入
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
</configSections>
然而,现在,当我通过代码跟踪中,管线
System.Configuration.Configuration configuration = //...
在初始化的文件路径属性是配置变量C:\ Program Files(x86)\ IIS Express \ unity.config ,而不是我自己的unity.config文件
任何想法如何从Web文件夹中引用配置文件?
谢谢。
不确定你的意思...添加什么“和元素”? – bzamfir 2012-02-16 00:13:19
@bzamfir对不起。忘了逃避xml标签。 – 2012-02-16 06:34:55