部署到Azure的ASP.NET Core应用连接字符串配置失败,如何正确设置?
解决Azure上ASP.NET Core/Function应用连接字符串设置问题
正确设置位置(两种有效方式)
方式1:通过「应用程序设置」添加带前缀的环境变量
适用于所有类型的连接字符串(Redis、MSSQL等):
- 登录Azure门户,进入你的应用/Function应用页面
- 左侧菜单找到配置(在「设置」分组下),切换到「应用程序设置」标签
- 点击「新建应用设置」,添加以下两项:
- 名称:
ConnectionStrings:redis1,值:你的Redis连接字符串 - 名称:
ConnectionStrings:mssql1,值:你的MSSQL连接字符串
- 名称:
- 点击「保存」,然后重启应用
方式2:通过「连接字符串」区域设置(需注意类型选择)
如果想用专门的连接字符串区域,必须选对类型才能被GetConnectionString读取:
- 同样进入「配置」页面,切换到「连接字符串」标签
- 点击「新建连接字符串」:
- 对于Redis:名称填
redis1,值填连接字符串,类型选择「Custom」 - 对于MSSQL:名称填
mssql1,值填连接字符串,类型选择「SQL Server」
- 对于Redis:名称填
- 保存后重启应用
为什么之前的设置无效?
- 直接设置普通环境变量时,没有添加
ConnectionStrings:前缀,而GetConnectionString方法只会读取配置键以ConnectionStrings:为前缀的项 - 在连接字符串区域设置时,如果选错了类型(比如Redis选了SQL Server),Azure会将其映射到错误的环境变量前缀,导致无法被识别
内容的提问来源于stack exchange,提问作者user16252006
相关产品推荐
相关产品推荐

