Где разместить AppSettings при разбивке монотичного сайта asp.net на библиотеки? - PullRequest
4 голосов
/ 20 января 2009

У меня есть несколько бизнес-объектов, которые используют:

Web.Configuration.WebConfigurationManager.AppSettings.Item("SomeSetting")

Теперь, когда я разбиваю эти объекты на их собственную библиотеку, кажется грязным брать зависимость от System.Web, когда ничто другое в библиотеке не имеет ничего общего с сетью.

Как правильно это сделать?

ОБНОВЛЕНИЕ: найдено в этом примере показаны файлы конфигурации для каждой сборки. Это плохая идея?

Ответы [ 3 ]

2 голосов
/ 20 января 2009

Поместите его в web.config и вызовите ConfigurationManager.AppSettings ["KEY"]

Нет необходимости в system.web в ваших библиотеках.

2 голосов
/ 20 января 2009

Если у вас есть куча appSettings, я также фанат использования пользовательских разделов конфигурации, наследуя от ConfigurationSection, ConfigurationElement и т. Д. От System.Configuration. Это особенно актуально, если эти настройки тесно связаны с определенной областью вашего кода.

Это позволяет вам получить доступ к настройкам как строго типизированным свойствам, а также дает больше контроля над тем, какие параметры требуются, допустимые значения для каждого параметра (вы можете использовать перечисления), а также вы можете иметь коллекции.

Как: создать пользовательские разделы конфигурации с помощью ConfigurationSection

0 голосов
/ 20 января 2009

Почему бы не использовать Web.config? Я видел в MSDN упоминание о том, что это правильно аналог app.config для веб-приложений.

...