У меня есть приложение ASP.NET, которое определяет пользовательский раздел конфигурации в web.config.
Недавно у меня был заказчик, который хотел развернуть два экземпляра приложения (для тестирования в дополнение к существующему производственному приложению).
Конфигурация, выбранная клиентом, была:
- foo.com - производственное приложение
- foo.com / Тестирование - тестовое приложение
В этом случае механизм конфигурации ASP.NET решил применить настройки по адресу foo.com/web.config к foo.com/Testing/web.config.
.
К счастью, это вызвало ошибку конфигурации, поскольку раздел был переопределен на втором уровне, а не создавалось ложное впечатление, что два веб-приложения были изолированы.
То, что я хотел бы сделать, это указать, что мой раздел конфигурации не наследуется и должен быть переопределен для любого веб-приложения, которому это требуется, но я не смог найти способ сделать это.
Мой web.config заканчивается примерно так
<configuration>
<configSections>
<section name="MyApp" type="MyApp.ConfigurationSection"/>
</configSections>
<MyApp setting="value" />
<NestedSettingCollection>
<Item key="SomeKey" value="SomeValue" />
<Item key="SomeOtherKey" value="SomeOtherValue" />
</NestedSettingCollection>
</MyApp>
</configuration>