Перейти к содержанию

Использование строго типизированных настроек с паттерном Options

Вместо того, чтобы использовать значения по ключу, в виде Configuration["key"], можно использовать строго типизированные настройки. Это наиболее предпочтительный способ.
Рассмотрим пример файла настроек, разделенных на два разных объекта с ключами "MapSettings" и "AppDisplaySettings":

{
    "MapSettings": {
        "DefaultZoomLevel": 6,
        "DefaultLocation": {
            "latitude": 50.500,
            "longitude": -4.000
        }
    },
    "AppDisplaySettings": {
        "Title": "Acme Store Locator",
        "ShowCopyright": true
    }
}

Тогда при использовании этих настроек можно использовать строго типизарованные объекты:
public class IndexModel: PageModel
{
    public IndexModel(IOptions<AppDisplaySettings> options)
    {
        AppDisplaySettings settings = options.Value;
        var title = settings.Title;
        bool showCopyright = settings.ShowCopyright;
    }
}

Система ASP.NET Core использует связыватель, принимающий коллекцию значений конфигурации и привязывающий их к строго типизированному объекту — классу options. Это похоже на концепцию привязки модели.

Знакомство с интерфейсом IOptions

Перезагрузка строго типизированных параметров с помощью IOptionsSnapshot

Разработка классов параметров для автоматической привязки

Связывание строго типизированных настроек без интерфейса IOptions


Последнее обновление : 30 апреля 2023 г.
Дата создания : 30 сентября 2022 г.

Комментарии

Комментарии