【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效
![]() |
|
应用设置 Application Setting在应用服务中,应用设置是作为环境变量传递给应用程序代码的变量。 对于 Linux 应用和自定义容器,应用服务使用 对于 ASP.NET 和 ASP.NET Core 开发人员而言,在应用服务中设置应用设置类似于在 Web.config 或 appsettings.json 中的 |
连接字符串 Connection strings对于 ASP.NET 和 ASP.NET Core 开发人员而言,在应用服务中设置连接字符串类似于在 Web.config 中的 对于其他语言堆栈,最好是改用应用设置,因为连接字符串需要在变量键中使用特殊的格式才能访问值。 |
问题描述
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
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-09-11 【服务总线 Azure Service Bus】ServiceBus 队列中死信(DLQ - Dead Letter Queue)问题
2020-09-11 【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。