Wymagania: Podczas czytania dokumentacji opcji ASP.NET Core odkryłem, że istnieją dwa typy kodu wykorzystujące klasy jako wzorce opcji, aby zapewnić silnie typowany dostęp do odpowiedniej grupy ustawień"AddOptions”、“KonfigurowaćJaka jest różnica między nimi?
Preferowaną metodą odczytu odpowiednich wartości konfiguracyjnych jest użycie trybu opcji.
Tryb opcji w ASP.NET Core:Logowanie do linku jest widoczne.
Obiekt ConsulOption wygląda tak:
appsettings.json Konfiguracja wygląda następująco:
Konfiguracja AddOptions
Kod jest następujący:
Konfiguruj konfigurację
Kod jest następujący:
Oba te elementy są w rzeczywistości równoważne, podstawowym wywołaniem AddOptions Bind pozostaje metoda Configure (Konfigurować).
OptionsBuilder.Bind(IConfiguration config) faktycznie wywołuje Configure(IConfiguration config) bezpośrednio, więc są równoważne, więc oba API są wymienne, a później pojawiło się AddOptions, które umożliwiło więcej personalizacji.
OptionsBuilderConfigurationExtensionsKod:Logowanie do linku jest widoczne.
Przeczytaj konfigurację
IOptions<TOptions>: Usługa Singleton, czyli aplikacja jest rejestrowana w momencie jej uruchamiania, a plik konfiguracyjny jest następnie zmieniany, IOptions nie będą aktualizowane synchronicznie i wartość pozostaje starą
IOptionsMigawka<TOptions>: Cykl życia jest określany, a konfiguracja jest ponownie pozyskiwana przy każdym żądaniu.
IOptionsMonitor<TOptions>: Cykl życia jest singleton, w przeciwieństwie do IOptions, które<TOptions> nasłuchują aktualizacji zachodzących w profilu i automatycznie synchronizują odpowiedź.
(Koniec)
|