Да, я получил решение.
Спасибо Bob Horn
и JoeBilly
за ценные материалы.
Я реализовал конфигурацию в соответствии с моим требованием. Я много искал полное решение, но всегда получал концепции и небольшой кусочек кода, поэтому я предоставляю полный рабочий код.
С помощью приведенного ниже кода вы можете выполнить следующие действия и поиграть с конфигурацией, как хотите.
- Общая конфигурация
[CommonDB]
может быть определена как одна
хранилище и может храниться во внешнем XML-файле. Библиотека классов будет всегда получать одно значение для веб-приложений и приложений Windows.
- Конкретная для сайта конфигурация
[WebDBConn]
может храниться в web.config.
- Окно Конфигурация приложения Конфигурация
[WindowDBConn]
можно упомянуть в app.config.
- Если вы хотите использовать тот же ключ с разными значениями
[INPUT_PATH]
, как в приложении, тогда используйте тот же ключ и значения diff в wen.config и app.config. Но помните, что ключ не должен быть доступен в common.config, иначе будет взято значение, которое доступно в common.config.
- Хорошо, что вам не нужно менять код для подхода для получения этих значений.
Common.Config
для библиотеки классов / общая конфигурация
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="CommonDB" value="CommonDBValue" />
</appSettings>
Web.Config
для веб-сайта
<configuration>
<appSettings file="D:\Common.config">
<add key="WebDBConn" value="WebDBConnValue" />
<add key="INPUT_PATH" value="INPUT_PATH_WEB" />
</appSettings>
</configuration>
App.config
для приложений Windows
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="D:\Common.config">
<add key="WindowDBConn" value="WindowDBConnValue" />
<add key="INPUT_PATH" value="INPUT_PATH_WINDOW" />
</appSettings>
</configuration>
Код позади
string configValue = ConfigurationSettings.AppSettings["CommonDB"];
Спасибо ...