如何覆盖 Azure Web App 自定义部分中的 web.config 值?

Ily*_*dik 3 web-config environment-variables azure azure-web-app-service

在 Azure Web App 中可以轻松覆盖 web.config AppSettings 部分。例如,如果我有以下 web.config:

<appSettings>   
    <add key="AllowedCORSOrigin" value="http://localhost:26674"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

我可以在门户中的应用程序设置 UI 中覆盖它,如下所示:

在此处输入图片说明

我在 web.config 中还有一个自定义部分:

<AdWordsApi>
    <add key="OAuth2RefreshToken" value="TOKEN" />
</AdWordsApi>
Run Code Online (Sandbox Code Playgroud)

是否也可以以某种方式覆盖它?我试过AdWordsApi.OAuth2RefreshTokenand AdWordsApi:OAuth2RefreshToken,但这并不容易。

PS 有趣的是知道其他自定义部分是否可能,例如,如果我想在服务器上使用另一种身份验证模式。

<system.web>
    <authentication mode="None" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

Dav*_*bbo 5

简短的回答是这是不可能的。

您描述的机制仅适用于应用程序设置和连接字符串。高层次,它的工作方式是:

  • 你的 Azure 应用设置成为环境变量
  • 在运行时,一个特殊的模块在 .NET 配置系统中动态设置这些。请注意,物理 web.config 永远不会被修改。

但是很难让这种机制在任意配置部分上工作,因为如果不修改物理文件,这些部分就不会受到动态影响。