Ich habe eine Projektklasse (Nuget-Paket). Ich muss in einer statischen Klasse ohne Konstruktor meine Verbindungszeichenfolge zu MongoDB lesen.
Statische Klassenmethode:
%Vor%Ich habe immer null ... Wie kann ich den Wert außerhalb der Startup.cs erhalten, ohne DI zu verwenden?
Es ist möglich?
In meinem alten Code könnte ich so etwas machen:
%Vor%Danke !!
In Ihrem Start sollten Sie die Verbindungszeichenfolge in einer statischen Eigenschaft in Startup
Dann sollten Sie von überall her darauf zugreifen können:
%Vor%Wie kann ich den Wert außerhalb der Startup.cs erhalten, ohne DI zu verwenden? Es ist möglich?
Ja, Sie können die Konfiguration ohne DI und in Ihrer gesamten Anwendung verwenden. Aber empfehlen wir, die Konfigurations-API nur beim Start zu verwenden und dann Optionen zu verwenden :
Erstellen Sie gut durchdachte Einstellungsobjekte, die bestimmten Funktionen innerhalb Ihrer Anwendung entsprechen und somit dem Schnittstellen-Trennprinzip (ISP) folgen (Klassen hängen nur von den Konfigurationseinstellungen ab, die sie verwenden)
Beispiel mit Konfigurations-API
appsettings.json:
%Vor%Verwendung der Konfiguration:
%Vor%Tutorial auf docs.asp.net - aber es ist ein bisschen veraltet.
>Tags und Links c# asp.net-core