Κοινή χρήση τεχνολογίας

Σημειώσεις: Πώς να χρησιμοποιήσετε το Microsoft.Extensions.Options

2024-07-12

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

Πρώτον, ο σκοπός:

Το Microsoft.Extensions.Options είναι μια βιβλιοθήκη στο .NET Core για το χειρισμό των επιλογών διαμόρφωσης. Παρέχει έναν έντονα πληκτρολογημένο τρόπο ανάγνωσης και δέσμευσης δεδομένων διαμόρφωσης (όπως δεδομένα από αρχεία appsettings.json, μεταβλητές περιβάλλοντος ή άλλες πηγές διαμόρφωσης) και την έγχυσή τους στην εφαρμογή. Αυτή η βιβλιοθήκη είναι μέρος του .NET Core, αλλά μπορεί επίσης να χρησιμοποιηθεί στο .NET Framework ή σε άλλες υλοποιήσεις .NET.
Βασική ιδέα


• Μοτίβο επιλογών: Το μοτίβο επιλογών χρησιμοποιεί κλάσεις για να αναπαραστήσει ομαδοποιήσεις δεδομένων διαμόρφωσης. Αυτές οι κλάσεις είναι συνήθως απλά POCO (απλά παλιά αντικείμενα CLR) που περιέχουν μερικές ιδιότητες που αντιστοιχούν σε κλειδιά για δεδομένα διαμόρφωσης.
• IOptions: IOptions<T> Η διεπαφή χρησιμοποιείται για πρόσβαση σε δεδομένα διαμόρφωσης τύπου T. Αφού καταχωρίσετε δεδομένα διαμόρφωσης τύπου T, μπορείτε να αποκτήσετε πρόσβαση σε αυτά τα δεδομένα σε άλλα μέρη της εφαρμογής μέσω της ένεσης εξάρτησης.
• IOptionsSnapshot: IOptionsSnapshot<T> Κατάλληλο για σενάρια όπου τα δεδομένα διαμόρφωσης πρέπει να επαναφορτωθούν ενώ εκτελείται η εφαρμογή. Παρέχει ένα νέο στιγμιότυπο των δεδομένων διαμόρφωσης για κάθε αίτημα.
• IOptionsMonitor: IOptionsMonitor<T> Χρησιμοποιείται για την παρακολούθηση αλλαγών στα δεδομένα διαμόρφωσης σε πραγματικό χρόνο. Παρέχει ένα συμβάν ειδοποίησης αλλαγής που μπορεί να ενεργοποιηθεί όταν αλλάζουν τα δεδομένα διαμόρφωσης.


2. Παράδειγμα:


Ας υποθέσουμε ότι έχετε ένα αρχείο διαμόρφωσης appsettings.json που περιέχει ορισμένες ρυθμίσεις εφαρμογής:

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

Αρχικά, ορίστε μια κλάση που θα αντιπροσωπεύει αυτές τις ρυθμίσεις:

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

Στη συνέχεια, καταχωρήστε αυτήν την κλάση διαμόρφωσης στη μέθοδο ConfigureServices του Startup.cs:

 

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

Τώρα μπορείτε να έχετε πρόσβαση σε αυτές τις ρυθμίσεις μέσω της ένεσης εξάρτησης όπου τις χρειάζεστε:

  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 παρέχει έναν απλό αλλά ισχυρό τρόπο διαχείρισης και πρόσβασης στα δεδομένα διαμόρφωσης μιας εφαρμογής. Χρησιμοποιώντας αυστηρά πληκτρολογημένες κλάσεις διαμόρφωσης και ένεση εξάρτησης, μπορείτε εύκολα να ενσωματώσετε δεδομένα διαμόρφωσης στην εφαρμογή σας, διατηρώντας τον κώδικά σας καθαρό και διατηρήσιμο.

5. Σημεία γνώσης που πρέπει να γνωρίζετε

IOptions 

IOptionsSnapshot 

IOptionsMonitor 

Χώρος ονομάτων Microsoft.Extensions.Options | 

System.Windows.Controls namespace |

6. Διεύθυνση πηγαίου κώδικα

GitHub - HeBianGu/WPF-ControlDemo: Παράδειγμα

GitHub - HeBianGu/WPF-ControlBase: Βιβλιοθήκη προσαρμοσμένων πόρων ελέγχου ενθυλακωμένη με Wpf

GitHub - HeBianGu/WPF-Control: WPF ελαφρύς έλεγχος και βιβλιοθήκη skinning

7. Μάθετε περισσότερα

System.Windows.Controls namespace |

https://github.com/HeBianGu

Ο προσωπικός χώρος του HeBianGu-Η προσωπική αρχική σελίδα του HeBianGu-Βίντεο Bilibili