Преобразование веб-конфигурации: вставьте, если значение параметра приложения равно true или false - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь применить преобразование на основе значения параметра приложения в моем web.config для моего проекта MVC asp.net.

<!--web.config-->
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="Feature.GlobalSSLRedirect" value="true"/>
  </appSettings>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Я хочу, чтобы приведенное ниже преобразование вставило новый элемент вэлемент customHeaders, когда значение параметра приложения Feature.GlobalSSLRedirect равно true.

<!--web.release.config-->
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Strict-Transport-Security" value="max-age=16070400; includeSubDomains" xdt:Transform="Insert" xdt:Locator="Condition(configuration/appSettings/add[@key='Feature.GlobalSSLRedirect']/@value = 'true')" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Я пытался использовать запрос XPath, чтобы выбрать значение параметра приложения и использовать его в качестве условия, чтобы решить, следует ливставьте нужный XML в элемент customHeaders.Я пробовал много разных вариантов запроса XPath, но не смог заставить его работать.

Любая помощь будет принята с благодарностью.

...