Interceptores de registetación después del registro de componentes en Castle
-
25-10-2019 - |
Pregunta
Tengo una instalación que necesita registrar un interceptor y luego registrar este interceptor en un subconjunto de los componentes ya registrados en el núcleo del castillo del contenedor.
La instalación vive en un conjunto separado y está destinado a usarse de diferentes ensamblajes para que no pueda acoplar el registro del interceptor con el registro de componentes de cada ensamblaje que utiliza esta instalación.
¿Es posible hacer esto? ¿Cómo puedo lograr esta funcionalidad?
Solución
Normalmente, la forma en que uso las instalaciones es así:
// 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());
Las instalaciones generalmente suscriben a eventos de contenedores, registre algunos de sus propios componentes, o agregue ComponentModel
contribuyentes de la construcción que examinar y aumentar ComponentModel
de componentes registrados.
De esa manera, puede ser completamente transparente a los componentes e impone el acoplamiento explícito entre componentes e instalaciones (a menos que lo desee).