Как ASP.NET компилирует файлы конфигурации, такие как web.config или machine.config?

Прочитав этот question, я спросил в одном из ответов следующее:

Этот ответ подразумевает, что ASP.NET читает файлы web.config и другие файлы конфигурации сверху, то есть: сверху вниз. Я думал, что конфигурационные файлы были прочитаны как "один экземпляр", что означает, что компилятор сначала анализирует конфигурационный файл на предмет точности, а затем компилирует его, но, похоже, он компилирует его на лету - за строкой.

Это правда?

Как ASP.NET справляется с конфигурационными файлами? Есть ли ссылка, которую кто-то мог бы поделиться со мной порядком обработки конфигурационных файлов в ASP.NET?

Ответ 1

.NET никогда не компилирует файлы конфигурации.

Это файлы XML. Файлы для виртуального пути читаются, а machine.config обрабатывается так, как если бы он был самым высоким в дереве. Файлы объединяются, а затем обрабатываются. Элементы из более низких уровней переопределяют элементы на более высоких уровнях (если элемент более высокого уровня не предотвращает переопределение).

См. " Иерархия и наследование файла конфигурации ASP.NET.