自定义部分的 Web 配置转换
Web config transform for custom section
我的 MVC 5 应用程序中有许多不同的 Web.configs 用于不同的环境 - 例如Test/Prod
我有适当的 Web 转换来更改不同环境的值。例如,我的 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>
我的问题是 - 是否可以进行 Web 转换,以便测试和生产看起来如下所示:
测试:
<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>
产品:
<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>
您可以尝试替换 <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>
产品:
<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>
我的 MVC 5 应用程序中有许多不同的 Web.configs 用于不同的环境 - 例如Test/Prod
我有适当的 Web 转换来更改不同环境的值。例如,我的 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>
我的问题是 - 是否可以进行 Web 转换,以便测试和生产看起来如下所示:
测试:
<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>
产品:
<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>
您可以尝试替换 <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>
产品:
<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>