从辅助webconfig读取AppSettings
本文关键字:读取 AppSettings webconfig | 更新日期: 2023-09-27 18:28:35
我创建了第二个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>
当我试图从以下项目中读取值时:
string connectionInfo = ConfigurationManager.AppSettings["UserName"];
我没有收回价值。这是因为web配置在文件夹中,还是这个web应用程序中发生了其他事情?
我没有收回价值。这是因为web配置在文件夹中吗?
不,不是文件夹,而是文件名。你可以使用~/Configuration/Web.config
,但你必须明确地打开它:
var config = WebConfigurationManager.OpenWebConfiguration("~/Configuration");
然后阅读:
string url = config.AppSettings.Settings["serverurl"].Value;
请注意,不能指定(因此不能更改)实际的web.config
文件名。只是文件夹。
每个web文件夹只能有一个web.config
文件
无论如何都有两种选择:
-
在IIS管理器中,您需要将子文件夹配置为新的应用程序。它使用正在运行的应用程序中的web.config文件。
-
另一种选择是使用单个配置文件并添加
<location>
部分来对文件进行分段,以对某些文件夹或文件采取不同的操作。(我在这里建议更多信息)
您可以使用WebConfigurationmanager方法访问多个配置文件。添加命名空间:
using System.Web.Configuration;
因此,要访问的appSettings
../SomeProjectFolder/Environment/Web.config
,你可以做:
var config = WebConfigurationManager.OpenWebConfiguration("~/SomeProjectFolder/Environment/");
string username = config.AppSettings.Settings["username"].Value;
希望这能有所帮助。