Condivisione della tecnologia

Note: come utilizzare Microsoft.Extensions.Options

2024-07-12

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

Innanzitutto, lo scopo:

Microsoft.Extensions.Options è una libreria in .NET Core per la gestione delle opzioni di configurazione. Fornisce un modo fortemente tipizzato per leggere e associare i dati di configurazione (come i dati da un file appsettings.json, variabili di ambiente o altre origini di configurazione) e inserirli nell'applicazione. Questa libreria fa parte di .NET Core, ma può essere usata anche in .NET Framework o altre implementazioni .NET.
Idea fondamentale


• Modello di opzioni: il modello di opzioni utilizza le classi per rappresentare raggruppamenti di dati di configurazione. Queste classi sono solitamente semplici POCO (Plain Old CLR Objects) contenenti alcune proprietà che corrispondono alle chiavi per i dati di configurazione.
• IOpzioni: IOpzioni<T> L'interfaccia viene utilizzata per accedere ai dati di configurazione di tipo T. Dopo aver registrato i dati di configurazione di tipo T, è possibile accedere a questi dati in altre parti dell'applicazione tramite l'inserimento delle dipendenze.
• IOptionsSnapshot: IOptionsSnapshot<T> Adatto per scenari in cui è necessario ricaricare i dati di configurazione mentre l'applicazione è in esecuzione. Fornisce una nuova istantanea dei dati di configurazione su ogni richiesta.
• IOptionsMonitor: IOptionsMonitor<T> Utilizzato per monitorare le modifiche nei dati di configurazione in tempo reale. Fornisce un evento di notifica di modifica che può essere attivato quando cambiano i dati di configurazione.


2. Esempio:


Supponiamo di avere un file di configurazione appsettings.json che contiene alcune impostazioni dell'applicazione:

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

Innanzitutto, definisci una classe per rappresentare queste impostazioni:

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

Quindi, registra questa classe di configurazione nel metodo ConfigureServices di Startup.cs:

 

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

Ora puoi accedere a queste impostazioni tramite l'inserimento delle dipendenze ovunque sia necessario:

  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 fornisce un modo semplice ma potente per gestire e accedere ai dati di configurazione di un'applicazione. Utilizzando classi di configurazione fortemente tipizzate e l'inserimento delle dipendenze, puoi integrare facilmente i dati di configurazione nella tua applicazione mantenendo il codice chiaro e gestibile.

5. Punti di conoscenza che devi conoscere

Opzioni I 

Istantanea di IOptions 

Monitoraggio delle opzioni I 

Spazio dei nomi Microsoft.Extensions.Options | 

Spazio dei nomi System.Windows.Controls |

6. Indirizzo del codice sorgente

GitHub - HeBianGu/WPF-ControlDemo: esempio

GitHub - HeBianGu/WPF-ControlBase: libreria di risorse di controllo personalizzato incapsulata in Wpf

GitHub - HeBianGu/WPF-Control: libreria WPF leggera per controlli e skin

7. Scopri di più

Spazio dei nomi System.Windows.Controls |

Italiano: Italiano: https://github.com/HeBianGu

Spazio personale di HeBianGu-Homepage personale di HeBianGu-Bilibili Video