gpt4 book ai didi

configuration - ASP.NET - Unity - 从外部配置文件中读取配置部分

转载 作者:行者123 更新时间:2023-12-01 06:42:15 26 4
gpt4 key购买 nike

我想在我的应用程序中集成 Unity 并且我希望它使用外部配置文件

Unity初始化代码是

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.config”,内容如下
<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() 返回 null。

可能是什么问题呢?

编辑

我加了
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
</configSections>

但是,现在当我跟踪代码时
System.Configuration.Configuration configuration = //...

初始化 FilePath 属性中的配置变量是 C:\Program Files (x86)\IIS Express\unity.config,而不是我自己的 unity.config 文件

知道如何从 web 文件夹中引用配置文件吗?

谢谢你。

最佳答案

http://msdn.microsoft.com/en-us/library/ff660935%28v=pandp.20%29.aspx

您的外部配置文件也必须从 <configuration> 开始标签,而不是 <unity>标签

关于configuration - ASP.NET - Unity - 从外部配置文件中读取配置部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com