Configuration.GetSection возвращает значение null in. net core (3.1) - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь получить информацию appSettings. json файл, используя "Configuation.GetSection". но почему-то я не могу этого получить.

вот код

appSettings.Development. json:

{
    "test": {
    "a": "sdfs"
}

startup.cs

var test = Configuration.GetSection("test");

есть что-нибудь, что мне нужно для запуска, чтобы получить информацию из appsettings. json file.

enter image description here

enter image description here

помогите пожалуйста. заранее спасибо

Ответы [ 3 ]

0 голосов
/ 23 апреля 2020

Configuration.GetSection () Метод возвращает подраздел конфигурации с указанным ключом подраздела, он возвращает указанный объект ConfigurationSection. Вы можете использовать следующие способы получения данных:

1. Получить раздел из объекта конфигурации. Внутри этого мы получаем другой раздел, который содержит значение.

var test = Configuration.GetSection("Test").GetSection("a").Value;

2. Непосредственно получить значение типа строки из объекта конфигурации. Мы разделяем наши вложенные разделы на «:».

string dbConn2 = Configuration.GetValue<string>("Test:a");

Ссылка:

https://www.c-sharpcorner.com/article/reading-values-from-appsettings-json-in-asp-net-core/

0 голосов
/ 23 апреля 2020

Я думаю, что нашел ответ на вышеуказанную проблему. Я не уверен, прав я или нет.

Я хотел взять настройки из файла "apSettings. json" и создать его объект, а затем использовать его с DI в моем контроллере.

для этого я использовал этот способ сейчас.

внутри метода ConfigureServices:

public void ConfigureServices(IServiceCollection services)
    {
        AppSettings _settings = new AppSettings();
        services.AddControllersWithViews();
        Configuration.GetSection("AppSettings").Bind(_settings);// bind is necessary
        services.AddSingleton(_settings);
    }

(Примечание. AppSettings - это пользовательский класс, свойства которого будут указаны в appSettings. json)

вариант 2: это второй вариант получения информации из "appsettings. json".

services.AddSingleton<AppSettings>(Configuration.GetSection("AppSettings").Get<AppSettings>();
0 голосов
/ 23 апреля 2020

Убедитесь, что вы правильно настроили

appsettings. json

{
  ...
  "Test": {
    "Key": "Value" 
  }
}

Startup.cs

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }      
    public IConfiguration Configuration { get; }


    ...

    string v = Configuration["Test:Key:Value"];

    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...