Reikalavimai: Skaitydamas ASP.NET Core parinkčių dokumentaciją, radau, kad yra dviejų tipų kodas, kuris naudoja klases parinkčių modeliams, kad suteiktų stipriai įvestą prieigą prie atitinkamos nustatymų grupės"Pridėti parinktis”、“KonfigūruotiKuo jie skiriasi?
Tinkamiausias atitinkamų konfigūracijos verčių nuskaitymo būdas yra parinkties režimas.
Parinkties režimas ASP.NET Core":Hipersaito prisijungimas matomas.
Objektas ConsulOption atrodo taip:
appsettings.json Konfigūracija yra tokia:
AddOptions konfigūracija
Kodas yra toks:
Konfigūracijos konfigūravimas
Kodas yra toks:
Jie iš tikrųjų yra lygiaverčiai, pagrindinis AddOptions Bind iškvietimas vis dar yra konfigūravimo metodas.
OptionsBuilder.Bind(IConfiguration config) iš tikrųjų iškviečia Configure(IConfiguration config) tiesiogiai, todėl jie taip pat yra lygiaverčiai, todėl dvi API yra keičiamos, o AddOptions vėliau atsirado ir leido daugiau tinkinimų.
OptionsBuilderConfigurationExtensionsKodas:Hipersaito prisijungimas matomas.
Skaityti konfigūraciją
IOpions<TOptions>: "Singleton" paslauga, tai yra, programa užregistruojama, kai ji paleidžiama, o konfigūracijos failas vėliau pakeičiamas, "IOptions" nebus atnaujinami sinchroniškai ir vis tiek bus senoji reikšmė
IOptionsMomentinė nuotrauka<TOptions>: ciklas aprėpiamas, o konfigūracija iš naujo įsigyjama su kiekviena užklausa.
IOptionsMonitor<TOptions>: Palaikymo ciklas yra pavienis, skirtingai nei "IOptions", kuris<TOptions> klausosi profilyje vykstančių naujinimų ir automatiškai sinchronizuoja atsakymą.
(Pabaiga)
|