从辅助Webconfig读取AppSettings

rro*_*oss 5 c# asp.net web-config

我创建了第二个Web配置并将其放置在文件夹中:

〜/ Configuration / OtherConnections.config

我的配置文件如下所示:

<?xml version="1.0"?>

<configuration>
  <appSettings>
    <add key="serverurl" value="http://serverUrl" />
    <add key="UserName" value="myUser" />
    <add key="Password" value="XXXXXXX" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当我尝试从以下项目之一读取值时:

string connectionInfo = ConfigurationManager.AppSettings["UserName"];
Run Code Online (Sandbox Code Playgroud)

我没有收回价值。这是因为Web配置位于文件夹中,还是此Web应用程序中发生了其他事情?

Hen*_*man 5

我没有收回价值。这是因为Web配置位于文件夹中吗?

不,不是文件夹,而是文件名。您可以使用,~/Configuration/Web.config但随后必须显式打开它:

var config = WebConfigurationManager.OpenWebConfiguration("~/Configuration");
Run Code Online (Sandbox Code Playgroud)

然后从中读取:

string url  = config.AppSettings.Settings["serverurl"].Value;
Run Code Online (Sandbox Code Playgroud)

请注意,您不能指定(因此不能更改)实际的web.config文件名。只是文件夹。


Mas*_*uso 2

web.config每个 Web 文件夹只能有一个文件

无论如何,有两种选择:

  • 在 IIS 管理器中,您需要将子文件夹配置为新应用程序。它使用正在运行的应用程序中的 web.config 文件。

  • 另一种选择是使用单个配置文件并添加一个<location>部分来对文件进行分段,以便对某些文件夹或文件采取不同的操作。(我会在这里建议更多信息)