Как вы извлекаете значения из связанного App.config в веб-приложении, когда существует Web.config?

У меня есть веб-приложение mvc .NET, написанное на C#, и у меня есть файл web.config, связанный с ним для конкретных параметров конфигурации. У меня также есть приложение службы Windows, которое будет работать на сервере в фоновом режиме, с которым связан App.config. Я связал файл в веб-приложении и могу увидеть файл с обновленными значениями. Но я не могу использовать эти значения в моем контроллере для отображения их в пользовательском интерфейсе. Есть ли способ сделать вызов значений app.config для использования в контроллере и представлениях веб-приложения? Прямо сейчас кажется, что они приходят в ноль из-за того, что их нет в web.config.

Любая помощь приветствуется.

1 ответ

Решение

Пока вы работаете над разрешениями, вы сможете открыть общий файл конфигурации следующим образом:

var map = new ExeConfigurationFileMap();
//TODO: resolve this path in whatever way makes sense for your situation.
map.ExeConfigFilename = @"C:\MyConfig.config";
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
//do something with config, e.g. config.AppSettings.Settings["Blah"];

В противном случае вы можете сделать что-то вроде добавления общих настроек в machine.config, но обычно не стоит связываться с этим файлом.

Другие вопросы по тегам