【问题标题】:API Connection String Not Working After Deploying to AzureAPI 连接字符串在部署到 Azure 后不起作用
【发布时间】:2021-05-20 05:29:29
【问题描述】:

首先,我很清楚这可能是重复的。我看过但还没有找到解决办法。如果你能指点我,我很乐意接受!

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

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

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

ConnectionString 属性尚未初始化

我读过的一些文章说应用服务将使用应用附带的appsettings.json 文件。其他人说您需要在 Azure 门户中手动添加它们。我尝试过以多种方式手动添加连接字符串:

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

我做错了什么?

【问题讨论】:

  • 我认为ConnectionStrings 应该是顶级配置,而不是AppSettings 的属性?至少在使用 GetConnectionString 时 - 我以前从未将其视为 AppSettings 的属性。
  • 查看图片的后半部分。我都试过了。但无论哪种方式,我都希望应用程序使用 appsettings.json 文件!
  • 它仍然属于 appsettings.json 文件。但是ConnectionStrings 应该AppSettings 的子元素,而是与它相同 级别。另外:包含访问设置的代码会很有帮助。

标签: c# .net azure api swagger


【解决方案1】:

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

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

【讨论】:

  • 好的,我会试试的。对于appsetins.json文件中的其他设置,是否也需要手动添加?
  • 没有必要,一旦你在 appsettings.json 中有它,它应该被自动获取,如果没有尝试手动添加并查看docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/…
  • 好的,取得一些进展!现在我得到:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)"
  • 我确认我在配置连接字符串中输入的值是正确的。它在本地主机中工作。
  • API 还没有工作,但你的回答让我摆脱了我发布的错误。谢谢!
【解决方案2】:

我在https://docs.microsoft.comConfigure apps 上发现了一些有用的东西

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

【讨论】:

  • 这不是答案。这只是一个链接。
  • 本文档显示了您在配置应用配置时更喜欢什么
猜你喜欢
  • 2017-11-17
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 2014-09-07
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多