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?

War es hilfreich?

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).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top