【问题标题】:Reading ConnectionStrings in local.settings.json using GetEnvironmentVariable in Azure在 Azure 中使用 GetEnvironmentVariable 读取 local.settings.json 中的 ConnectionStrings
【发布时间】:2018-08-10 12:46:29
【问题描述】:

在 Azure 函数 v1 中,我尝试使用 GetEnvironmentVariable 静态方法读取存在于 local.settings.json 中的连接字符串

这是我的local.settings.json 文件

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true"
  },
  "ConnectionStrings": {
    "OnPremisesConnection": "Server=test;Initial Catalog=testdb;Integrated Security=SSPI;"
  }
}

使用以下代码正在读取连接字符串

string variableName = "OnPremisesConnection";
var res = Environment.GetEnvironmentVariable($"ConnectionStrings:{variableName}")

但我得到NULL 结果。我在这里错过了什么?

【问题讨论】:

  • 您不使用ConfigurationManager.ConnectionStrings[variableName] 选项是否有特定原因?我不确定环境变量是否应该/将在本地工作。
  • @Jan_V - 仅在v1 中支持,建议使用GetEnvironmentVariable 以获得更好的支持
  • @Pரதீப் 非常抱歉,我犯了一个错误,如果您仍在 v1 中,GetEnvironmentVariable 无法获取 ConnectStrings,因为它们未导入环境,只有值可用。我会在你上一个问题中更新我的答案。
  • @JerryLiu 您能否在评论中也提供您对这篇文章的回答或链接到您所指的“最后一个问题”。这将有助于其他读者。谢谢。
  • @KarishmaTiwari-MSFT 很抱歉丢失了,here 是。

标签: azure environment-variables azure-functions


【解决方案1】:

好的。你可以试试下一个:

var config = new ConfigurationBuilder()
            .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();
 
 string connectionStr = config["ConnectionStrings:OnPremisesConnection"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2011-05-15
    相关资源
    最近更新 更多