So injizieren Sie das Konstruktorargument aus der Konfigurationsdatei mit Unity

8

Stellen Sie sich vor, wir haben eine Klasse

%Vor%

und app.config (oder web.config)

%Vor%

Gibt es eine Möglichkeit, den Typ MyClass im Unity-Container zu registrieren und auf Unity zu verweisen, um value für den val-Konstruktorparameter aus der Konfigurationsdatei zu injizieren?

    
STO 18.11.2011, 19:48
quelle

3 Antworten

6

es ist sehr einfach.

C # -Code:

%Vor%

Konfigurationsdatei:

%Vor%

    
Ethan Wu 22.11.2011, 06:17
quelle
5

Wenn Sie XML config verwenden, können Sie dies tun, indem Sie eine Erweiterung definieren, die AppSettings als Unity-Parameter behandelt, siehe Ссылка .

Alternativ können Sie bei der C # -Konfiguration einen Injection-Konstruktor wie folgt verwenden ...

%Vor%

Der Grund, den AppSettings-Wert anstelle der Zeichenfolge direkt in der XML-Konfiguration zu verwenden, besteht darin, dass er alle Parameterwerte in AppSettings zentralisiert und Migrationen zwischen Umgebungen vereinfacht.

    
Paul Hatcher 27.10.2014 10:05
quelle
3

Ein ziemlich alter Beitrag, aber ich dachte, die folgende Information könnte hilfreich sein, falls es sich nicht um einen Wert für einen nativen Typ handelt, sondern um einen komplexen Datentyp:

%Vor%

Ein bisschen genauer beschrieben hier: Ссылка

    
Daniel Lemke 18.05.2015 10:07
quelle