2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Microsoft.Extensions.Options ist eine Bibliothek in .NET Core zur Handhabung von Konfigurationsoptionen. Es bietet eine stark typisierte Möglichkeit, Konfigurationsdaten (z. B. Daten aus appsettings.json-Dateien, Umgebungsvariablen oder anderen Konfigurationsquellen) zu lesen, zu binden und in die Anwendung einzufügen. Diese Bibliothek ist Teil von .NET Core, kann aber auch im .NET Framework oder anderen .NET-Implementierungen verwendet werden.
Kernidee
• Optionsmuster: Das Optionsmuster verwendet Klassen, um Gruppierungen von Konfigurationsdaten darzustellen. Bei diesen Klassen handelt es sich in der Regel um einfache POCOs (Plain Old CLR Objects), die einige Eigenschaften enthalten, die Schlüsseln für Konfigurationsdaten entsprechen.
• IOptionen: IOptionen<T> Die Schnittstelle dient dem Zugriff auf Konfigurationsdaten vom Typ T. Nachdem Sie Konfigurationsdaten vom Typ T registriert haben, können Sie über die Abhängigkeitsinjektion in anderen Teilen der Anwendung auf diese Daten zugreifen.
• IOptionsSnapshot: IOptionsSnapshot<T> Geeignet für Szenarien, in denen Konfigurationsdaten neu geladen werden müssen, während die Anwendung ausgeführt wird. Es stellt bei jeder Anfrage einen neuen Snapshot der Konfigurationsdaten bereit.
• IOptionsMonitor: IOptionsMonitor<T> Wird verwendet, um Änderungen in Konfigurationsdaten in Echtzeit zu überwachen. Es stellt ein Änderungsbenachrichtigungsereignis bereit, das ausgelöst werden kann, wenn sich Konfigurationsdaten ändern.
Angenommen, Sie verfügen über eine appsettings.json-Konfigurationsdatei, die einige Anwendungseinstellungen enthält:
- {
- "MySettings": {
- "SettingA": "value1",
- "SettingB": "value2"
- }
- }
Definieren Sie zunächst eine Klasse zur Darstellung dieser Einstellungen:
- public class MySettings
- {
- public string SettingA { get; set; }
- public string SettingB { get; set; }
- }
Registrieren Sie dann diese Konfigurationsklasse in der Methode „ConfigureServices“ von Startup.cs:
- public void ConfigureServices(IServiceCollection services)
- {
- // 绑定配置
- services.Configure<MySettings>(Configuration.GetSection("MySettings"));
-
- // 其他服务注册...
- }
Jetzt können Sie über die Abhängigkeitsinjektion auf diese Einstellungen zugreifen, wo immer Sie sie benötigen:
- public class MyService
- {
- private readonly MySettings _mySettings;
-
- public MyService(IOptions<MySettings> options)
- {
- _mySettings = options.Value;
- }
-
- public void DoSomething()
- {
- Console.WriteLine(_mySettings.SettingA);
- // 使用 _mySettings...
- }
- }
Microsoft.Extensions.Options bietet eine einfache, aber leistungsstarke Möglichkeit, die Konfigurationsdaten einer Anwendung zu verwalten und darauf zuzugreifen. Durch die Verwendung stark typisierter Konfigurationsklassen und Abhängigkeitsinjektion können Sie Konfigurationsdaten einfach in Ihre Anwendung integrieren und gleichzeitig Ihren Code klar und wartbar halten.
Microsoft.Extensions.Options-Namespace |. Microsoft Learn
System.Windows.Controls-Namespace |. Microsoft Learn
GitHub – HeBianGu/WPF-ControlDemo: Beispiel
GitHub – HeBianGu/WPF-ControlBase: Wpf-gekapselte benutzerdefinierte Steuerressourcenbibliothek
GitHub – HeBianGu/WPF-Control: Leichte WPF-Steuerungs- und Skinning-Bibliothek
System.Windows.Controls-Namespace |. Microsoft Learn
HeBianGus persönlicher Bereich – HeBianGus persönliche Homepage – Bilibili-Video