Teknologian jakaminen

Huomautuksia: Kuinka käyttää Microsoft.Extensions.Options

2024-07-12

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

Ensinnäkin tarkoitus:

Microsoft.Extensions.Options on .NET Coren kirjasto määritysasetusten käsittelyä varten. Se tarjoaa vahvasti kirjoitetun tavan lukea ja sitoa määritystietoja (kuten tietoja appsettings.json-tiedostoista, ympäristömuuttujista tai muista määrityslähteistä) ja lisätä ne sovellukseen. Tämä kirjasto on osa .NET Corea, mutta sitä voidaan käyttää myös .NET Frameworkissa tai muissa .NET-toteutuksissa.
Ydin idea


• Asetusmalli: Asetusmalli käyttää luokkia edustamaan kokoonpanotietojen ryhmiä. Nämä luokat ovat yleensä yksinkertaisia ​​POCO:ita (Plain Old CLR Objects), jotka sisältävät muutamia ominaisuuksia, jotka vastaavat konfigurointitietojen avaimia.
• IOptions: IOptions<T> Käyttöliittymää käytetään T-tyypin konfigurointitietoihin pääsyyn. Kun olet rekisteröinyt tyypin T konfigurointitiedot, voit käyttää näitä tietoja sovelluksen muissa osissa riippuvuuslisäyksen avulla.
• IOptionsSnapshot: IOptionsSnapshot<T> Sopii skenaarioihin, joissa määritystiedot on ladattava uudelleen sovelluksen ollessa käynnissä. Se tarjoaa uuden tilannekuvan konfigurointitiedoista jokaisesta pyynnöstä.
• IOptionsMonitor: IOptionsMonitor<T> Käytetään konfigurointitietojen muutosten seuraamiseen reaaliajassa. Se tarjoaa muutosilmoitustapahtuman, joka voidaan laukaista, kun kokoonpanotiedot muuttuvat.


2. Esimerkki:


Oletetaan, että sinulla on appsettings.json-määritystiedosto, joka sisältää joitain sovellusasetuksia:

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

Määritä ensin luokka edustamaan näitä asetuksia:

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

Rekisteröi sitten tämä kokoonpanoluokka Startup.cs:n ConfigureServices-metodissa:

 

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

Nyt voit käyttää näitä asetuksia riippuvuuslisäyksen avulla missä tahansa tarvitset niitä:

  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 tarjoaa yksinkertaisen mutta tehokkaan tavan hallita ja käyttää sovelluksen määritystietoja. Käyttämällä vahvasti kirjoitettuja konfigurointiluokkia ja riippuvuuden lisäystä, voit helposti integroida määritystiedot sovellukseesi pitäen samalla koodisi selkeänä ja ylläpidettävänä.

5. Tietokohdat, jotka sinun on tiedettävä

IOoptiot 

IOptionsSnapshot 

IOptionsMonitor 

Microsoft.Extensions.Options nimitila |. Microsoft Learn 

System.Windows.Controls nimiavaruus |

6. Lähdekoodin osoite

GitHub – HeBianGu/WPF-ControlDemo: Esimerkki

GitHub – HeBianGu/WPF-ControlBase: Wpf-kapseloitu mukautettu ohjausresurssikirjasto

GitHub - HeBianGu/WPF-Control: WPF-kevyt ohjaus- ja nylkimiskirjasto

7. Lisätietoja

System.Windows.Controls nimiavaruus |

https://github.com/HeBianGu

HeBianGun henkilökohtainen tila-HeBianGun henkilökohtainen kotisivu-Bilibili-video