Поиск окончательных / эффективных значений web.config (из унаследованных конфигураций) - PullRequest
10 голосов
/ 25 апреля 2010

Существуют ли приложения, которые могут отображать окончательную конфигурацию применительно к определенному каталогу приложений? То, что я представляю, является чем-то вроде просмотра CSS FireBug.

По сути, он должен показывать эквивалентный единственный файл web.config (как если бы у вас был только один), со всеми значениями, которые применяются к рассматриваемому каталогу, с каждым элементом (или даже атрибутом), аннотированным его источником ( настоящий .config файл, из которого он получен).

Это очень поможет при развертывании приложений во внешних средах (например, на сайтах клиентов), где они иногда имеют странные конфиги, которые добавляют в глобальные включения (например, они помещают для этого включение include в machine.config вместо web.config). app) или имеют allowOverride = false и т. д.

Ответы [ 2 ]

1 голос
/ 07 мая 2010

Если вы знаете разделы конфигурации, которые вас интересуют, то это даст вам эффективные настройки как класс специально для этих настроек. Затем вы можете привести тип и получить настройки таким же образом и сделать то же самое для любых интересующих вас разделов.

object vals = System.Configuration.ConfigurationManager.GetSection("AppSettings")

Однако я не знаю ни одного способа получить все текущие разделы конфигурации, если вы хотите обнаружить все разделы, используя код.

1 голос
/ 01 мая 2010

В настоящее время не существует общедоступных, однако зритель может легко написать. Я бы проанализировал отраженный источник .NET CLR в отношении наследования конфигурации и определения значения. Логика кода, которая вычисляет окончательную конфигурацию для домена, довольно специфична, поэтому имеет смысл, что в данный момент для вашего запроса не существует средства просмотра, и это было бы хорошей отправной точкой для средства просмотра, которое вы себе представляете.

Что касается упрощения развертывания, сравнения и редактирования файлов конфигурации, я лично рекомендую попробовать ASPhere . В настоящее время это лучший графический редактор для файлов конфигурации .NET, хотя он не является открытым исходным кодом.

Конечно, есть дополнительные полезные примеры чтения / доступа к файлам конфигурации:

И есть специальные исключения для разделов, такие как настройки "processModel". Для получения дополнительной информации / подробных сведений см .:

...