Partage de technologie

Remarques : Comment utiliser Microsoft.Extensions.Options

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Tout d’abord, le but :

Microsoft.Extensions.Options est une bibliothèque dans .NET Core pour gérer les options de configuration. Il fournit un moyen fortement typé de lire et de lier les données de configuration (telles que les données des fichiers appsettings.json, les variables d'environnement ou d'autres sources de configuration) et de les injecter dans l'application. Cette bibliothèque fait partie de .NET Core, mais peut également être utilisée dans le .NET Framework ou d'autres implémentations .NET.
Idée de base


• Modèle d'options : le modèle d'options utilise des classes pour représenter des regroupements de données de configuration. Ces classes sont généralement de simples POCO (Plain Old CLR Objects) contenant quelques propriétés qui correspondent à des clés pour les données de configuration.
• IOptions : IOptions<T> L'interface permet d'accéder aux données de configuration de type T. Après avoir enregistré les données de configuration de type T, vous pouvez accéder à ces données dans d'autres parties de l'application via l'injection de dépendances.
• IOptionsSnapshot : IOptionsSnapshot<T> Convient aux scénarios dans lesquels les données de configuration doivent être rechargées pendant l'exécution de l'application. Il fournit un nouvel instantané des données de configuration à chaque demande.
• IOptionsMonitor : IOptionsMonitor<T> Utilisé pour surveiller les modifications des données de configuration en temps réel. Il fournit un événement de notification de modification qui peut être déclenché lorsque les données de configuration changent.


2. Exemple :


Supposons que vous disposiez d'un fichier de configuration appsettings.json qui contient certains paramètres d'application :

  1. {
  2. "MySettings": {
  3. "SettingA": "value1",
  4. "SettingB": "value2"
  5. }
  6. }

Tout d’abord, définissez une classe pour représenter ces paramètres :

  1. public class MySettings
  2. {
  3. public string SettingA { get; set; }
  4. public string SettingB { get; set; }
  5. }

Ensuite, enregistrez cette classe de configuration dans la méthode ConfigureServices de Startup.cs :

 

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. // 绑定配置
  4. services.Configure<MySettings>(Configuration.GetSection("MySettings"));
  5. // 其他服务注册...
  6. }

Vous pouvez désormais accéder à ces paramètres via l'injection de dépendances partout où vous en avez besoin :

  1. public class MyService
  2. {
  3. private readonly MySettings _mySettings;
  4. public MyService(IOptions<MySettings> options)
  5. {
  6. _mySettings = options.Value;
  7. }
  8. public void DoSomething()
  9. {
  10. Console.WriteLine(_mySettings.SettingA);
  11. // 使用 _mySettings...
  12. }
  13. }

Microsoft.Extensions.Options fournit un moyen simple mais puissant de gérer et d'accéder aux données de configuration d'une application. En utilisant des classes de configuration fortement typées et l'injection de dépendances, vous pouvez facilement intégrer des données de configuration dans votre application tout en gardant votre code clair et maintenable.

5. Points de connaissances que vous devez connaître

Options 

Instantané d'IOptions 

IOptionsMonitor 

Espace de noms Microsoft.Extensions.Options | Microsoft Learn 

Espace de noms System.Windows.Controls | Microsoft Learn

6. Adresse du code source

GitHub - HeBianGu/WPF-ControlDemo : exemple

GitHub - HeBianGu/WPF-ControlBase : bibliothèque de ressources de contrôle personnalisé encapsulée par Wpf

GitHub - HeBianGu/WPF-Control : bibliothèque légère de contrôle et de skinning WPF

7. En savoir plus

Espace de noms System.Windows.Controls | Microsoft Learn

https://github.com/HeBianGu

Espace personnel de HeBianGu-Page d'accueil personnelle de HeBianGu-Vidéo Bilibili