我创建了第二个Web配置并将其放在一个文件夹中:
〜/配置/ 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应用程序中还有其他东西?
答案 0 :(得分:4)
我没有得到回报。这是因为web配置在文件夹中吗??
不,不是文件夹而是文件名。你可以使用~/Configuration/Web.config
但是你必须明确地打开它:
var config = WebConfigurationManager.OpenWebConfiguration("~/Configuration");
然后从中读取:
string url = config.AppSettings.Settings["serverurl"].Value;
请注意,您无法指定(因此不会更改)实际的web.config
文件名。只是文件夹。
答案 1 :(得分:2)
每个网络文件夹只能有一个web.config
个文件
无论如何都有两个选项:
在IIS管理器中,您需要将子文件夹配置为新应用程序。它使用正在运行的应用程序中的web.config文件。
另一种选择是使用单个配置文件并添加<location>
部分来对文件进行分段,以便对某些文件夹或文件采取不同的行动。 (我建议更多信息here)
答案 2 :(得分:0)
您可以使用WebConfigurationmanager方法访问多个配置文件。添加命名空间:
using System.Web.Configuration;
所以,要访问
的appSettings ../SomeProjectFolder/Environment/Web.config
,你可以这样做:
var config = WebConfigurationManager.OpenWebConfiguration("~/SomeProjectFolder/Environment/");
string username = config.AppSettings.Settings["username"].Value;
希望这有帮助。