У меня есть код запуска в моем проекте веб-API, который пытается прочитать значения из файла web.config, который по умолчанию публикуется внутри каталога bin. Поскольку точкой инициализации приложения является Global.asax, на этом уровне нет web.config, поэтому мне нужно выяснить, как ссылаться на нее в папке bin.Чтение файла web.config от Global.asax
Вот корень моего каталога IIS:
В любое время я пытаюсь прочитать значения из файла web.config с помощью ConfigurationManager.AppSettings
они возвращаются нуль. Только когда я перемещаю файл web.config из папки bin и в корневой каталог будут найдены значения.
Я попытался добавить некоторый код, который предположил, что это заставит путь к правильному расположению по умолчанию (в папке Bin), прежде чем пытаться прочитать значение, но это не работает, либо:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Fix web.config location
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin\\web.config");
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", path);
var appId = ConfigurationManager.AppSettings["ApplicationId"];
}
}
Есть способ заставить путь к web.config жить внутри папки bin?