如何从我的类库应用程序访问自定义配置?

时间:2011-09-30 20:29:04

标签: .net asp.net configuration web-config

我的基础架构项目中有自定义配置,但是当我的应用启动时,我的web.config才被识别。

我不想将此自定义配置文件的配置放在我的web.config中,因为此配置对基础架构层负责。

我如何在我的网站项目中使用其他项目的自定义配置?

3 个答案:

答案 0 :(得分:3)

此问题的先前答案未能告知您关键点。

.NET旨在为每个AppDomain配置一个配置过程。所有类库都将使用调用它们的应用程序的配置文件。在您的情况下,您的类库将使用web.config。如果您的类库是从控制台应用程序使用的,那么它将使用应用程序 .exe.config文件。

当你想到它时,这是唯一有意义的事情。如果您的类库来自两个单独的应用程序,那么它将具有两个单独的配置。必须代表调用应用程序管理这些配置

答案 1 :(得分:0)

这样的事情:

var exeMap = new ExeConfigurationFileMap {ExeConfigFilename = @"C:\Path\To\Your\File"};
Configuration myConfig = ConfigurationManager.OpenMappedExeConfiguration(
    exeMap, ConfigurationUserLevel.None
);

答案 2 :(得分:-1)

假设基础结构项目是类库,您是否考虑过创建属性以将app.config(?)设置公开给前端?

这是我的意思的一个例子。请记住,这只是一个例子。它是一个演示如何通过属性公开配置值的属性。在您的情况下,该属性将从您的自定义配置文件中检索一个值。

public string GetConfigurationValue(string Key)
{
    return GetValueFromConfiguration(Key);
}

我想知道的一件事是你为什么要创建一个自定义配置文件,而不仅仅是创建一个可以集成到app.config文件中的配置部分。看起来你的事情比他们需要的要困难得多。