Эффективные способы чтения значений из appsettings.json в контроллере в C# .NET Core 6

В C#.NET Core 6 appsettings.json — это популярный файл конфигурации, используемый для хранения настроек приложения. При построении контроллеров часто бывает необходимо прочитать значения из этого файла. В этой статье блога мы рассмотрим несколько методов эффективного получения значений из файла appsettings.json в контроллере, используя разговорный язык и практические примеры кода.

Метод 1: использование интерфейса IConfiguration
Интерфейс IConfiguration предоставляет удобный способ доступа к значениям конфигурации из различных источников, включая appsettings.json. Вот как его можно использовать в контроллере:

private readonly IConfiguration _configuration;
public MyController(IConfiguration configuration)
{
    _configuration = configuration;
}
public IActionResult MyAction()
{
    string value = _configuration["MySettingKey"];
    // Use the retrieved value
    // ...
}

Метод 2: строго типизированные разделы конфигурации
Другой подход заключается в привязке значений конфигурации к строго типизированным объектам. Этот метод обеспечивает лучшую читаемость кода и безопасность типов. Вот пример:

  1. Определите класс для представления раздела конфигурации в appsettings.json:
public class MySettings
{
    public string MySettingKey { get; set; }
}
  1. Настройте файл appsettings.json, включив в него нужные значения:
{
  "MySettings": {
    "MySettingKey": "some value"
  }
}
  1. Зарегистрируйте раздел конфигурации в файле Startup.cs:
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
  1. Используйте строго типизированную конфигурацию в контроллере:
private readonly MySettings _mySettings;
public MyController(IOptions<MySettings> mySettings)
{
    _mySettings = mySettings.Value;
}
public IActionResult MyAction()
{
    string value = _mySettings.MySettingKey;
    // Use the retrieved value
    // ...
}

Метод 3: использование шаблона параметров
Шаблон параметров упрощает процесс настройки и доступа к параметрам приложения в приложениях.NET Core. Вот пример:

  1. Определите класс для представления раздела конфигурации в appsettings.json (так же, как в методе 2).

  2. Настройте файл appsettings.json, как показано в методе 2.

  3. Зарегистрируйте раздел конфигурации в файле Startup.cs:

services.Configure<MySettings>(Configuration.GetSection("MySettings"));
  1. Использовать шаблон «Параметры» в контроллере:
private readonly MySettings _mySettings;
public MyController(IOptions<MySettings> mySettings)
{
    _mySettings = mySettings.Value;
}
public IActionResult MyAction()
{
    string value = _mySettings.MySettingKey;
    // Use the retrieved value
    // ...
}

В этой статье мы рассмотрели три эффективных метода чтения значений из файла appsettings.json в контроллере C#.NET Core 6. Используя интерфейс IConfiguration, строго типизированные разделы конфигурации или шаблон Options, вы можете легко получить и использовать настройки в вашем приложении. Выберите метод, который лучше всего соответствует вашим потребностям и повышает читаемость и удобство сопровождения вашего кода.