2014-01-31 4 views
0

Итак, у меня есть веб-сайт, назовите его веб-сайтом A, который разработан внутренней командой разработчиков. Вторая команда разрабатывает другой сайт, назовите его веб-сайтом B, который должен существенно расширить поведение сайта A. Это включает в себя конфигурацию.Asp.Net Web.Config Sharing

Таким образом, веб-сайт B нуждается в собственном веб-сайте web.config. Но поскольку ему необходимо использовать функции с сайта A (без необходимости объединять/копировать код, но, возможно, копировать конфигурацию), он должен иметь возможность искать параметры конфигурации в своем собственном web.config, а затем, если нет, в web.config сайта A, чтобы найти необходимую настройку.

Есть ли способ сделать это в коробке?

Мне известны иерархии конфигурации и возможность вывести конфигурацию в отдельные файлы, например. используя configSource = "foo.config" или местоположения. Однако это не решает проблему. Это работает в сценариях, где вы знаете, что хотите переопределить, скажем, конкретные строки подключения приложения, но не работает там, где вам нужно расширять настройки, например, используя все настройки приложения с сайта A, а также три дополнительные настройки приложения от B.

Другие соображения, разработчики для сайта A не видят ничего с сайта B. Исходный код/​​конфигурация сайта B заблокирована для определенной группы людей. Dev's на сайте B может видеть код для сайта A.

Любые мысли?

ответ

1

Использование web.config transofrmation, получить некоторые идеи из http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx

это именно то, что вам нужно.

+0

Спасибо F34R. Я подумал об этом. Я уверен, что это сработает, мне просто нужно будет выполнить преобразование во время сборки, а также перед развертыванием. Я не думаю, что есть альтернатива. Я запустил новый класс ConfigurationManager, который следил за цепочкой ответственности, по сути, позволяя пропустить одну настройку другой. Как всегда пахнет. Я думаю, ваше предложение имеет больше ног. благодаря –