Почему IConfigurationRoot GetConnectionString возвращает ноль? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь прочитать файл .json в моем проекте Asp.net Core.

Печать

enter image description here

dbConfig.json

{
  "AzureCosmosDb": {
    "EndpointUrl": "https://localhost:8081",
    "PrimaryKey": "C2y6yDjf5/R++4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
    "DatabaseId": "Cosmoso"
  },
  "Oracle12c": {

  }
}

Код для поиска значений в файле в dbConfig.Json:

public static string GetConnectionString(string fileJson, string conexao)
{
  var builder = new ConfigurationBuilder().AddJsonFile(fileJson);

  Configuration = builder.Build();

   string connection = Configuration.GetConnectionString("AzureCosmosDb:DatabaseId");
   return connection;
}

Метод возвращает ноль, что не так?

1 Ответ

0 голосов
/ 29 августа 2018

Configuration.GetConnectionString ищет раздел конфигурации с именем "ConnectionStrings", поэтому вам необходимо настроить конфигурацию следующим образом, чтобы метод работал:

{
  "ConnectionStrings": {
    "AzureCosmosDb": {
      "DatabaseId": "Cosmoso"
    }
  }
}

Но так как у вас есть и другие конфигурации, которые не являются строками подключения, я бы просто предложил вам вообще не использовать GetConnectionString и просто получить значение напрямую:

string connection = Configuration["AzureCosmosDb:DatabaseId"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...