gpt4 book ai didi

azure - 从 ASP.NET Core 访问 Azure 应用服务 ConnectionString

转载 作者:行者123 更新时间:2023-12-05 03:52:30 25 4
gpt4 key购买 nike

我有一个 azure 的应用程序服务,我的设置如下:

Azure Service Settings

但是当我调用 IConfiguration.GetConnectionString("db") 时,我得到 null

我读过这样的文章 https://mderriey.com/2018/08/21/azure-app-service-connection-strings-and-asp-net-core/上面写着“它确实有效”,但它们都已经有好几年了。我认为有些事情发生了变化,但是什么?

枚举 IConfiguration 对象中的所有设置,但没有连接字符串。我在开发中这样做,我的 appsettings.development.json 定义了 connectionStrings: { db: ""}

我可以从代码中查看并读取 ENV 变量:POSTGRESQLCONNSTR_db,并且它的值是正确的(我通过 Azure 门户设置的值)。

我应该能够执行IConfiguration.GetConnectionString("db")吗?或者我是否期望在读取 prod 和 dev 中的环境变量之间切换。

我是否需要包含一些 nuget 包才能使 IConfiguration 在 Azure 下使用这些 ENV 变量及其疯狂前缀工作?

我的startup.cs基本上看起来像:


public Startup(IConfiguration configuration)
{
this.Configuration = configuration;
}

public IConfiguration Configuration { get; }

这个问题没有其他有趣的内容。

最佳答案

我也很困惑,所以这里是:

您有两个选项可以在本地指定连接字符串:

  1. launchSettings.json(环境变量部分)
  "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"SQLAZURECONNSTR_SomeConnectionString": "DefaultEndpointsProtocol=blah"
}
  • appSettings.json
  •   "ConnectionStrings": {
    "SomeConnectionString": "DefaultEndpointsProtocol=blah"
    }

    无论哪种方式都允许您通过调用来获取连接字符串设置:

    IConfiguration.GetConnectionString("SomeConnectionString")

    上面的函数调用在部署到 Azure 时也将起作用,因为它使用 EnvironmentVariables 配置提供程序来读取设置。

    关于azure - 从 ASP.NET Core 访问 Azure 应用服务 ConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62174383/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com