我在Azure Webapps for Containers上的docker容器中运行的应用程序尝试通过环境变量访问连接字符串。我已将其添加到Azure UI的“应用程序设置”中,但无法通过代码访问它,特别是我的ASP.NET Core应用程序返回null。
我知道日志不会显示它是在-e connstring=myconnstring
命令中作为docker run
自变量添加的,但是在容器中也永远不会出现它。
答案 0 :(得分:0)
事实证明,通过使用Azure中的“高级工具”->“环境Kudu”服务,连接字符串环境变量名称被冠以SQLAZURECONNSTR_
前缀。
我知道,按照here所述,使用.NET Core环境变量配置提供程序读取环境变量时,在环境变量上具有此类前缀是一种惯例,但是这就是为什么Azure自动添加这些前缀的原因,显然没有文档说明这种行为在任何地方,我都不知道。