моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Microsoft.Extensions.Options — это библиотека в .NET Core для обработки параметров конфигурации. Он обеспечивает строго типизированный способ чтения и привязки данных конфигурации (например, данных из файла appsettings.json, переменных среды или других источников конфигурации) и внедрения их в приложение. Эта библиотека является частью .NET Core, но ее также можно использовать в .NET Framework или других реализациях .NET.
Основная идея
• Шаблон параметров: шаблон параметров использует классы для представления групп данных конфигурации. Эти классы обычно представляют собой простые POCO (обычные старые объекты CLR), содержащие несколько свойств, которые соответствуют ключам для данных конфигурации.
• IOptions: IOptions<T> Интерфейс используется для доступа к данным конфигурации типа T. После регистрации данных конфигурации типа T вы можете получить доступ к этим данным в других частях приложения посредством внедрения зависимостей.
• IOptionsSnapshot: IOptionsSnapshot.<T> Подходит для сценариев, когда данные конфигурации необходимо перезагрузить во время работы приложения. Он предоставляет новый снимок данных конфигурации при каждом запросе.
• IOptionsMonitor: IOptionsMonitor<T> Используется для мониторинга изменений данных конфигурации в режиме реального времени. Он обеспечивает событие уведомления об изменении, которое может быть вызвано при изменении данных конфигурации.
Предположим, у вас есть файл конфигурации appsettings.json, содержащий некоторые настройки приложения:
- {
- "MySettings": {
- "SettingA": "value1",
- "SettingB": "value2"
- }
- }
Сначала определите класс для представления этих настроек:
- public class MySettings
- {
- public string SettingA { get; set; }
- public string SettingB { get; set; }
- }
Затем зарегистрируйте этот класс конфигурации в методе ConfigurationServices файла Startup.cs:
- public void ConfigureServices(IServiceCollection services)
- {
- // 绑定配置
- services.Configure<MySettings>(Configuration.GetSection("MySettings"));
-
- // 其他服务注册...
- }
Теперь вы можете получить доступ к этим настройкам через внедрение зависимостей, где это необходимо:
- public class MyService
- {
- private readonly MySettings _mySettings;
-
- public MyService(IOptions<MySettings> options)
- {
- _mySettings = options.Value;
- }
-
- public void DoSomething()
- {
- Console.WriteLine(_mySettings.SettingA);
- // 使用 _mySettings...
- }
- }
Microsoft.Extensions.Options предоставляет простой, но мощный способ управления данными конфигурации приложения и доступа к ним. Используя строго типизированные классы конфигурации и внедрение зависимостей, вы можете легко интегрировать данные конфигурации в свое приложение, сохраняя при этом ясность и удобство обслуживания вашего кода.
Пространство имен Microsoft.Extensions.Options Microsoft Learn
Пространство имен System.Windows.Controls Microsoft Learn |
GitHub — HeBianGu/WPF-ControlDemo: пример
GitHub — HeBianGu/WPF-Control: облегченная библиотека управления и оформления оформления WPF
Пространство имен System.Windows.Controls Microsoft Learn |
Личное пространство HeBianGu-Личная домашняя страница HeBianGu-Bilibili Video