Ich habe IOptionen aus einem .NET Core Web API Controller erfolgreich ausprobiert und verwendet.Wie kann ich auf IOtions (oder Einstellungen) von anderen Ebenen meiner .NET Core App zugreifen?
Zum Beispiel arbeitet das für mich:
public MyController(IOptions<MySettings> options)
{
// I can access these _options from any method in this Controller.
_options = options.Value;
}
Aber ich brauche, um meine ioptions aus anderen Ebenen in meiner App zuzugreifen.
Zum Beispiel vielleicht das ich habe ...
-Controller --calls -> Business Layer --calls -> Data Access Layer
ich wirklich nicht wollen, eine ioptions passieren Parameter in der Aufrufkette herunter. Ich habe MySettings in eine eigene Assembly gestellt, um allen Layern Zugriff darauf zu gewähren.
- Bin ich damit falsch?
- Was ist der richtige Weg, dies zu tun?
- Gibt es eine Möglichkeit, IOports automatisch in den Konstruktor wie den Controller zu injizieren? (Wenn ja, wie instanziiert ich jede Klasse, wo ich das brauchen?)
Edit:
- Ich bin nicht wirklich besorgt über Abhängigkeiten, per se, aber der Fluss von Informationen durch eine Millionen "verknüpfte" Tiers.
Controller (Verbindungszeichenfolge von config) --calls -> Business Layer (Connection String) --calls -> Data Access Layer (Connection String)
I Connection String als Beispiel nur verwendet .
Danke.
Mögliches Duplikat von [.net Kern, n-Layer-App, sollte Dienste Layer Abhängigkeit von Microsoft.Extensions.Options.dll haben] (https://StackOverflow.com/Questions/44987633/net-Core-N-Layered -app-sollte-services-layer-dependence-on-microsoft-ext) – Tseng