Ich bin völlig neu in Structuremap und bin verwirrt darüber, wie man eine Schnittstelle verbindet, die mehrere Implementierungen hat.
Sagen wir, ich habe Controller1
und Controller2
. Ich habe Interface1
, das von zwei separaten Klassen implementiert wird, Class1ForInterface1
und Class2ForInterface1
. In Controller1
Ich möchte Class1ForInterFace1
injiziert und in Controller2
Ich möchte Class2ForInterface1
injiziert.
Wie verbinde ich das mit der Strukturkarte? Es scheint, dass ich nur eine Zuordnung von Interface zum konkreten Typ haben kann?
Danke!
Es ist möglich, mehrere Klassen zu haben, die dieselbe Schnittstelle mit Strukturkarte implementieren.
Wenn Sie Ihre Zuordnungen benennen, können Sie sie später mit diesem Namen abrufen.
%Vor%Wenn Sie dann Ihr Class1ForMyInterface möchten, können Sie
anrufen %Vor%Es gibt auch ein paar Möglichkeiten, all dies in Ihrem Container zu mappen
%Vor%Oder wenn Sie die Smartinsatance beibehalten, die zurückgegeben wird, wenn Sie einen Typ registrieren, können Sie ihn im Mapping verwenden.
%Vor%Tags und Links asp.net-mvc-3 .net structuremap