Kurz gesagt versuche ich Castle Windsor
Container mit Unity
Container zu verknüpfen. Lassen Sie mich den Kontext erklären:Castle windsor Auflösung Pipeline mit Unity als Unter-Resolver
Ich habe ein Projekt, in dem für sehr lange Zeit Schloss Windsor verwendet. Vor ein paar Tagen habe ich eine Menge DLLs bekommen, die ich aus meinem alten Projekt konsumieren muss. Diese DLLs verwenden Unity Container als ihren Injektionsmechanismus. Ich habe auch Zugriff auf Schnittstellen/Implementierungen, die in diesen DLLs gefunden werden, aber ich würde nicht versuchen, Implementierungen manuell zu instantiieren, aber ich würde es vorziehen, wenn möglich, den Unity-Container mit meinem aktuellen Castle-Windsor-Container zu verknüpfen. Wie könnte ich das erreichen?
Also, wenn ich habe:
public class MyService: IService
{
public MyService (IThidPartyService thirdParty)
{
}
}
Wenn ich IService
mit windsor lösen wäre es schön, dass IThirdPartyService
von den anderen Behältern gelöst werden: Unity.
Vielen Dank !.
Ich habe das versucht. Die Idee ist, dass ... WIE würde Castle wissen, dass er eine spezifische Schnittstelle durch Injektion von Eigentum injizieren muss? Der einzige Weg, den er kennen könnte, ist, diese Schnittstelle in der Abhängigkeitskarte zu haben. Sonst würde er nicht einmal versuchen, es zu spritzen. –
@GeorgeLica - Was die Property-Injection betrifft scheint es kein Problem zu sein - [Siehe Dokumentation] (https://github.com/castleproject/Windsor/blob/master/docs/how-dependents-are-resolved .md # how-dependencies-are-resolved) –
@Alexandru Marculescu - Bitte bedenken Sie die Gewährung der Prämie :) Die Antwort löst diese Frage –