Читайте AppSettings из вторичной веб-конфигурации - PullRequest
5 голосов
/ 20 марта 2012

Я создал второй веб-конфиг и поместил его в папку:

~ / 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"];

Я не вернул значение. Это потому, что веб-конфигурация находится в папке, или в этом веб-приложении происходит что-то еще?

Ответы [ 3 ]

5 голосов
/ 20 марта 2012

Я не вернул значение.Это потому, что веб-конфигурация находится в папке ...?

Нет, не папка, а имя файла.Вы можете использовать ~/Configuration/Web.config, но тогда вам необходимо открыть его:) фактическое web.config имя файла.Просто папка.

2 голосов
/ 20 марта 2012

у вас может быть только один web.config файл для каждой веб-папки

В любом случае есть варианты буксировки:

  • В диспетчере IIS вам необходимо настроить подпрограммупапка как новое приложение.Он использует файл web.config из запущенного приложения.

  • Другой вариант - использование одного файла конфигурации и добавление раздела <location> для сегментирования файла, чтобы он работал по-разному для некоторых папок илифайлы.(который я хотел бы предложить больше информации здесь )

0 голосов
/ 13 февраля 2014

Вы можете получить доступ к нескольким файлам конфигурации с помощью метода WebConfigurationmanager.добавить пространство имен:

using System.Web.Configuration;

Итак, чтобы получить доступ к настройкам приложения

../SomeProjectFolder/Environment/Web.config, вы можете сделать:

var config = WebConfigurationManager.OpenWebConfiguration("~/SomeProjectFolder/Environment/");
string username = config.AppSettings.Settings["username"].Value;

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...