这是我在 Azure 托管应用程序中设置一些连接字符串的过程:
调试时,字符串正常存储在
Web.Config
中,并使用aspnet_regiis
加密以将它们隐藏在版本控制中。发布时,这些值在
Web.Release.Config
中设置为一些通用值:<add xdt:Transform="Insert" name="SPsvcUsername" connectionString="username"/> <add xdt:Transform="Insert" name="SPsvcPassword" connectionString="password"/>
然后,我进入 Azure 门户上的应用服务,并在“应用程序设置”->“连接字符串”下添加所需的实际值,仅使用相同的名称,例如
SPsvc用户名
。这会覆盖通用值,一切都很好。
自从我开始这样做以来,这一直有效,除了偶尔需要等待几分钟才能更新之外,我遇到了 0 个问题。
但是,今天它并没有应用我在 Azure 门户中输入的设置。
当我进入命令提示符并调用
more web.config
我可以看到连接字符串包含通用值用户名
和密码
什么给了?为什么这个突然停止工作了?是否有一个更新解决了我尚未阅读的问题?
非常感谢任何建议。包括关于我最初的过程是否真正有意义的任何事情。
最佳答案
它们在运行时被替换,而不是在文件中。
因此,当您通过以下方式访问连接字符串时:
string username = ConfigurationManager.ConnectionStrings["SPsvcUsername"].ConnectionString;
它将具有“应用程序设置”边栏选项卡中的值。
关于asp.net-mvc - Azure 门户中的应用程序设置不会覆盖通用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50404608/