API 连接字符串在部署到 Azure 后不起作用

问题描述 投票:0回答:2

首先,我很清楚这可能是重复的。我已经看过但还没有找到解决方案。如果您能给我指出一个,我会很乐意接受!

我使用 Core 5.0 在 VS 2019 中构建了一个 API。这是整个 appsettings.json 文件:

{
  "AppSettings": {
    "ConnectionStrings": {
      "DefaultConnection": "Server=...."
    }
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

在本地主机中完美运行。但是当我发布到 Azure 时,所有结果都回来了:

ConnectionString 属性尚未初始化

我读过的一些文章说应用程序服务将使用应用程序附带的

appsettings.json
文件。其他人说您需要在 Azure 门户中手动添加它们。我尝试以多种方式手动添加连接字符串:

enter image description here

但我仍然得到相同的结果。

我做错了什么?

c# .net azure swagger
2个回答
1
投票

您需要将 AppSettings 中的 ConnectionStrings 移至更高级别,如下所示,同时确保您在门户中提及相同的内容

"ConnectionStrings": {
    "Default": "server=v6.com;database=tsde;uid=sa;pwd=234@123."
  },

-1
投票

我在 https://learn.microsoft.com 上发现了一些可能有用的东西:配置应用程序

对于 ASP.NET 和 ASP.NET Core 开发人员,在 App 中设置应用程序设置 服务就像在 Web.config 中设置它们或 appsettings.json,但应用服务中的值会覆盖 Web.config 或 appsettings.json。您可以保留开发设置(例如 例如,Web.config 或 appsettings.json 中的本地 MySQL 密码,以及 安全地保护生产机密(例如 Azure MySQL 数据库密码) 在应用程序服务中。当您 在本地进行调试,并在部署到时使用您的生产密钥 天蓝色

© www.soinside.com 2019 - 2024. All rights reserved.