首页 > 解决方案 > Azure 门户中的应用程序设置未覆盖通用值

问题描述

这是我在 Azure 托管应用程序中设置一些连接字符串的过程:

  1. 调试时,字符串Web.Config按正常方式存储,并通过加密aspnet_regiis将它们隐藏在版本控制中。

  2. 在发布时,这些设置为以下中的一些通用值Web.Release.Config

    <add xdt:Transform="Insert" name="SPsvcUsername" connectionString="username"/>
    <add xdt:Transform="Insert" name="SPsvcPassword" connectionString="password"/>
    
  3. 然后我进入 Azure 门户上的应用程序服务,在应用程序设置 -> 连接字符串下添加所需的实际值,只需使用相同的名称,例如SPsvcUsername. 这会覆盖通用值,一切都很好。

在此处输入图像描述

自从我开始这样做以来,这一直有效,除了偶尔我需要等待几分钟才能更新之外,我遇到了 0 个问题。

但是,今天它只是不应用我在 Azure 门户中输入的设置。

当我进入命令提示符并调用

more web.config

我可以看到连接字符串包含通用值usernamepassword

是什么赋予了?为什么这突然停止工作?是否有更新解决了我尚未阅读的问题?

非常感谢任何建议。包括关于我的原始过程是否真的有意义的任何内容。

标签: asp.net-mvcazureweb-configazure-web-app-service

解决方案


它们在运行时被替换,而不是在文件中。

因此,当您通过以下方式访问连接字符串时:

string username = ConfigurationManager.ConnectionStrings["SPsvcUsername"].ConnectionString;

它将具有应用程序设置刀片中的值。


推荐阅读