Как получить доступ к Web.config из ссылочной сборки? - PullRequest
1 голос
/ 11 февраля 2009

Мне нужен доступ к web.config веб-приложения из ссылочной сборки. Мне нужно получить путь к файлу или объект конфигурации. Я не могу сделать это с помощью System.Reflection.Assembly.GetEntryAssembly, как я делаю для конфигурации приложения Windows EXE.

Спасибо

Ответы [ 3 ]

6 голосов
/ 11 февраля 2009

Я использую следующий код в моих библиотеках классов для чтения из файла конфигурации:

using System.Configuration;

...

string value = ConfigurationManager.AppSettings.Get("myKey");
// returns null if the specified key does not exist

Это работает для чтения настроек приложения как в веб-приложениях (web.config), так и в окнах форм / консольных приложений (application.exe.config).

2 голосов
/ 11 февраля 2009

Это нехорошая практика, так как она объединяет слишком много вещей.

Вместо этого передайте необходимые параметры конфигурации из сборки узла во все сборки, на которые она ссылается.

Таким образом, указанные сборки могут быть собраны и протестированы без использования файлов конфигурации.

2 голосов
/ 11 февраля 2009

Вы можете использовать класс ConfigurationManager из сборки System.Configuration.

Но вы не получите путь, потому что конфигурация представляет собой сочетание множества файлов конфигурации (machin.config, несколько web.config и т. Д.)

...