zoukankan      html  css  js  c++  java
  • 【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效 

    应用设置 Application Setting

    在应用服务中,应用设置是作为环境变量传递给应用程序代码的变量。 对于 Linux 应用和自定义容器,应用服务使用 --env 标志将应用设置传递到容器,以在容器中设置环境变量。 无论是这两种情况中的哪一种,它们都会在应用启动时注入到应用环境。 在添加、删除或编辑应用设置时,应用服务会触发应用重启。

    对于 ASP.NET 和 ASP.NET Core 开发人员而言,在应用服务中设置应用设置类似于在 Web.config 或 appsettings.json 中的 <appSettings> 内进行设置,但应用服务中的值会替代 Web.config 或 appsettings.json 中的值。 可以在 Web.config 或 appsettings.json 中保留开发设置(例如本地 MySQL 密码),并在应用服务中安全地保留生产机密(例如 Azure MySQL 数据库密码) 。 相同的代码在本地调试时使用开发设置,部署到 Azure 时使用生产机密。

    连接字符串 Connection strings

    对于 ASP.NET 和 ASP.NET Core 开发人员而言,在应用服务中设置连接字符串类似于在 Web.config 中的 <connectionStrings> 内进行设置,但应用服务中设置的值会替代 Web.config 中的值。可将开发设置(例如,数据库文件)保留在 Web.config 中,并将生产机密(例如,SQL 数据库凭据)安全保留在应用服务中。 相同的代码在本地调试时使用开发设置,部署到 Azure 时使用生产机密。

    对于其他语言堆栈,最好是改用应用设置,因为连接字符串需要在变量键中使用特殊的格式才能访问值。

    问题描述

     App Service 页面上配置的连接字符串不生效? 什么情况下使用Application Settings,什么时候使用连接字符串Connection String

    问题解答

    这个问题可以从应用的Web.config文件或者是AppSettings.json文件来回答:

    1)如果配置信息是在web.config <connectionStrings> </ connectionStrings >标签下的,在ConfigurationManager代码使用的是ConnectionStrings对象:

    ConfigurationManager.ConnectionStrings["connection_string_name"].ConnectionString

    就需要使用App Service的Connection strings配置

    2)如果是在web.config <appSettings>  </appSettings> 标签下配置连接的信息,在ConfigurationManager代码使用的是AppSettings对象:

    ConfigurationManager.AppSettings["application_setting_name"]

    就需要使用App Service的Application Setting配置

    特别注意,当使用的开发语言是 ASP.NET 和 ASP.NET Core,是可以直接使用 ConnectionStrings 连接字符串的名字,不需要加前缀。 如果是其他语言,必须加以下的前缀。切记切记。这也是本文问题的原因。

    在运行时,连接字符串可用作环境变量,其前缀为以下连接类型:

    • SQLServer:SQLCONNSTR_
    • MySQL: MYSQLCONNSTR_
    • SQLAzure:SQLAZURECONNSTR_
    • 自定义:CUSTOMCONNSTR_
    • PostgreSQL:POSTGRESQLCONNSTR_

    例如,可以使用环境变量 MYSQLCONNSTR_connectionString1 的形式访问名为 connectionstring1 的 MySql 连接字符串

    参考资料

    在 Azure 门户中配置应用服务应用:https://docs.azure.cn/zh-cn/app-service/configure-common#configure-connection-strings

    当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

  • 相关阅读:
    Atitit.ati orm的设计and架构总结 适用于java c# php版
    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本
    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本
    Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
    Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全
    Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结
    Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结
    atitit.基于  Commons CLI 的命令行原理与 开发
    atitit.基于  Commons CLI 的命令行原理与 开发
    atitit.js 与c# java交互html5化的原理与总结.doc
  • 原文地址:https://www.cnblogs.com/lulight/p/15256414.html
Copyright © 2011-2022 走看看