https://d226lax1qjow5r.cloudfront.net/blog/blogposts/implicit-configuration-in-net/implicit-configuration-net.png

Implizite Konfiguration in .NET

Zuletzt aktualisiert am November 2, 2023

Lesedauer: 1 Minute

Hallo Freunde,

In unserem letzten Beitraghaben wir den Prozess der Registrierung von Vonage-Clients innerhalb des .NET IoC-Containers gezeigt. Dies war ein wertvoller Schritt zur Vereinfachung der Interaktion mit unserem SDK.

Nehmen wir uns einen Moment Zeit, um darüber nachzudenken: Was wäre, wenn wir noch einen Schritt weitergehen würden?

Wo haben wir aufgehört?

Zur Auffrischung: So haben wir diese Kunden registriert:

// Initialize credentials
Credentials credentials = ...
// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(credentials);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(credentials);

Sie mussten eine Credentials-Instanz initialisieren, typischerweise aus einem ApiKey/ApiSecret-Paar oder einem ApplicationId/PrivateKey-Paar. Diese Werte stammen oft aus Ihrer Konfigurationsdatei oder wurden aus unserer Konfigurationsinstanz entnommen.

Sie sehen, worauf ich hinaus will, nicht wahr?

Implizites Laden der Konfiguration

Kein Getue mehr um diese Credentials Instanz mehr. Wir sind noch einen Schritt weiter gegangen und haben die Methode so optimiert, dass sie eine IConfiguration-Instanz sofort akzeptiert.

// Register our clients with a 'Transient' lifetime...
builder.Services.AddVonageClientTransient(builder.Configuration);
// Or a 'Scoped' lifetime
builder.Services.AddVonageClientScoped(builder.Configuration);

Jetzt übernehmen wir die gesamte Arbeit, da wir alle erforderlichen Daten direkt aus Ihrer Konfigurationsdatei abrufen.

Weniger manuelle Arbeit für Sie!

Erweitern mit umgebungsspezifischer Konfiguration

Bis v6.9.0konnten wir die Konfigurationsdaten nur von settings.json oder laden. appsettings.json. Dies konnte problematisch sein, wenn Sie umgebungsspezifische Werte verwenden wollten, z. B. bei der Bereitstellung einer Staging-Umgebung.

Sie haben vielleicht bemerkt, dass wir über das Laden von Daten auf der Grundlage Ihrer lokalen Konfiguration sprechen. Was hat es damit auf sich?

Wir rufen alle wichtigen Konfigurationswerte aus Quellen ab, die Sie in Ihren Configuration Builder geladen haben. Zum Beispiel können wir Werte aus folgenden Quellen abrufen appsettings.{environment}.jsonabrufen, der Standard-Namenskonvention einer neuen .NET-Anwendung.

Verabschiedung

Bleiben Sie dran für weitere Funktionen und Verbesserungen der Lebensqualität.

Wie immer schätzen wir Ihr Feedback! Sie können also gerne unser GitHub-Repository besuchen, um Probleme zu melden, Verbesserungen vorzuschlagen oder sogar Ihre Pull-Requests beizusteuern. Wenn Sie Fragen haben, schließen Sie sich uns auf dem Vonage Entwickler-Slackund wir werden auf Sie zurückkommen.

Viel Spaß beim Programmieren, und bis bald!

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/fdffb72c8b/guillaume-faas.png
Guillaume FaasSenior .Net Entwickler Advocate

Guillaume ist ein Senior .Net Developer Advocate bei Vonage. Er arbeitet seit fast 15 Jahren in .Net und hat sich in den letzten Jahren auf die Förderung von Software Craftsmanship konzentriert. Zu seinen Lieblingsthemen gehören Codequalität, Testautomatisierung, Mobbing und Code Katas. Außerhalb der Arbeit verbringt er gerne Zeit mit seiner Frau und seiner Tochter, treibt Sport oder spielt Spiele.