Вступление:
- Обычно мы храним
ConnectionStrings
и некоторые другие настройки (<appSettings> <add key...
) вWeb.config
илиApp.config
.
Мои декорации:
Веб-приложение, использующее фабричный шаблон с прямым внедрением для чтения поставщиков данных.
В
web.config
у меня есть ключ, который сообщает мне, какую библиотеку DLL (провайдера) я буду использовать для получения данных.У меня может быть более одного провайдера (каждая DLL будет провайдером для MS SQL, MySQL или будет получать данные из какой-либо службы SOA).
Каждая DLL имеет собственное имя (идентификатор и пространства имен) и должна иметь собственные конфигурации (соединения данных, URL-адреса служб и т. Д.). Первая идея - записать это в
app.config
.
Проблемы:
# 1 - веб-сайт работает (время выполнения). Мне нужно изменить поставщика данных, как я могу это сделать? Каким-то образом значение по умолчанию, записанное в
Web.config
, будет изменено.- My objective is to be able to have multiple providers (and during runtime: add/delete providers and change configurations) - this leads me to my second problem:
.
№2 - у каждого поставщика данных есть собственные конфигурации, и файлы App.Config не работают со сборками dll, а работают только с исполняемыми файлами. Это означает, что мне нужно написать затем в моем Web.Config (мне не нравится этот вариант, потому что я снова обновляю свой web.config во время выполнения). как я могу решить эту проблему?
- I am trying to avoid to write a custom settings XML file. My ideal solution is to deploy somehow the
DLL
andDLL.config
per each provider. And once again during runtime I may need to change this configuration values.
- I am trying to avoid to write a custom settings XML file. My ideal solution is to deploy somehow the
.