Azure Web App 是否支持配置文件中的 string/token 替换?

Does Azure Web App support string/token replacement in config files?

我有一个通过 YAML 管道部署的 Web 应用程序,但想看看它是否可以通过 Web 应用程序的部署中心完成。

我需要转换 endpoint 元素中的 IP 地址和 userPrincipalName,但它不属于 AppSettingsconnectionstring 元素。是否可以通过 Web App 转换这种元素,还是我坚持使用 YAML 管道?

这是我的配置文件的片段:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="API_AUTH_MODE" value="2" />
  </appSettings>
  <system.serviceModel>
    <client>
      <endpoint address="net.tcp://10.0.0.0:99/App1/Services/Service1"
        binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Service1"
        contract="Service1" name="NetTcpBinding_Service1">
        <identity>
          <userPrincipalName value="user@domain.local" />
        </identity>
      </endpoint>
      <endpoint address="net.tcp://10.0.0.0:99/App1/Services/Service2"
        binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Service2"
        contract="Service2" name="NetTcpBinding_Service2">
        <identity>
          <userPrincipalName value="user@domain.local" />
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

Is it possible to transform this kind of element via Web App, or am I stuck with YAML pipeline?

AFAIK,恐怕您目前无法通过 Web App 转换这种元素。

那是因为 IP addressuserPrincipalName 不属于 AppSettingsconnectionstring 元素。

所以,我们不能用Application settingsconnection strings来代替它。我们必须使用 YAML 管道解决此问题。

顺便说一句,我们可以在 YAML 管道中使用 Replace Tokens 来解决它。

希望对您有所帮助。

虽然上面的回答是正确的——网络应用程序不能转换除 Appsettings 或“connectionstring”以外的任何东西,我最终做了以下事情:

  • 使用XML 转换文件来替换所需的字符串,因为依赖于构建类型
  • 使用 YAML 文件访问保管库以进行密码替换。

我本可以使用 Web App 来替换密码,但通过单个 YAML 文件管理 pipeline/deployment/release 比拆分 YAML 和 Web App 更容易。