Преобразование веб-конфигурации для пользовательского раздела
У меня в приложении MVC 5 много разных Web.configs для разных сред - например, Test/Prod
У меня есть веб-преобразования для изменения значений для разных сред. Так, например, у меня есть следующий параметр приложения в моем файле web.config:
<appSettings>
<add key="DevDisplayPanel" value="true" />
</appSettings>
Затем в моих Web.Test.config и Web.Prod.config используя веб-преобразование, чтобы изменить значение, как показано ниже:
<appSettings>
<add key="DevDisplayPanel"
xdt:Transform="Replace"
xdt:Locator="Match(key)"
value="false" />
<appSettings>
Однако в моем Web.config у меня также есть свой собственный раздел, который находится за пределами <appSettings>
раздел и как ниже:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://dev-myurl1.com"/>
<add zone="Zone2" url="https://dev-myurl2.com"/>
<add zone="Zone2" url="https://dev-myurl3.com"/>
</serverList>
</myCustomSection>
Мой вопрос - возможно ли сделать веб-преобразование таким образом, чтобы Test и Prod выглядели так, как показано ниже:
Тестовое задание:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://test-myurl1.com"/>
<add zone="Zone2" url="https://test-myurl2.com"/>
<add zone="Zone2" url="https://test-myurl3.com"/>
</serverList>
</myCustomSection>
Prod:
<myCustomSection>
<serverList>
<add zone="Zone1" url="https://prod-myurl1.com"/>
<add zone="Zone2" url="https://prod-myurl2.com"/>
<add zone="Zone2" url="https://prod-myurl3.com"/>
</serverList>
</myCustomSection>
1 ответ
Решение
Вы можете попробовать заменить содержимое <serverList>
тег.
Тестовое задание:
<myCustomSection>
<serverList xdt:Transform="Replace">
<add zone="Zone1" url="https://test-myurl1.com"/>
<add zone="Zone2" url="https://test-myurl2.com"/>
<add zone="Zone2" url="https://test-myurl3.com"/>
</serverList>
</myCustomSection>
Prod:
<myCustomSection>
<serverList xdt:Transform="Replace">
<add zone="Zone1" url="https://prod-myurl1.com"/>
<add zone="Zone2" url="https://prod-myurl2.com"/>
<add zone="Zone2" url="https://prod-myurl3.com"/>
</serverList>
</myCustomSection>