Registeting -Interceptors nach der Registrierung der Komponenten in der Burg
-
25-10-2019 - |
Frage
Ich habe eine Einrichtung, die einen Interceptor registrieren und diesen Interceptor anschließend gegen eine Teilmenge der bereits im Container Castle Kernel registrierten Komponenten registrieren muss.
Die Einrichtung lebt in einer separaten Baugruppe und soll aus verschiedenen Baugruppen verwendet werden, sodass ich die Interceptor -Registrierung nicht mit der Komponentenregistrierung jeder Baugruppe, die diese Einrichtung verwendet, nicht koppeln kann.
Ist es möglich, dies zu tun? Wie kann ich diese Funktionalität erreichen?
Lösung
Normalerweise ist die Art und Weise, wie ich Einrichtungen verwende, wie folgt:
// 1. create the container
var container = new WindsorContainer();
// 2. add all the facilities I need
container.AddFacility<SomeFacility>();
contianer.AddFacility<SomeOtherFacility>();
// 3. install all the components
container.Install(FromAssembly.This());
Die Einrichtungen abonnieren normalerweise entweder entweder Containerereignisse, registrieren Sie einige ihrer eigenen Komponenten oder fügen Sie hinzu ComponentModel
Konstruktionsbeiträge das untersucht und erweitert ComponentModel
von Komponenten registriert.
Auf diese Weise kann es für Komponenten vollständig transparent sein und der expliziten Kopplung zwischen Komponenten und Einrichtungen auferlegt (es sei denn, Sie möchten es).