Регистрация перехватчиков после регистрации компонентов в замке
У меня есть средство, которое должно зарегистрировать перехватчик, а затем зарегистрировать этот перехватчик для подмножества компонентов, уже зарегистрированных в контейнере Castle Kernel.
Средство находится в отдельной сборке, и оно предназначено для использования из разных сборок, поэтому я не могу связать регистрацию перехватчика с регистрацией компонентов каждой сборки, которая использует это средство.
Можно ли сделать это? Как я могу достичь этой функциональности?
1 ответ
Обычно способ, которым я пользуюсь, выглядит следующим образом:
// 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());
Средства обычно либо подписываются на события контейнера, регистрируют некоторые из своих собственных компонентов, либо добавляют ComponentModel
строительные участники, которые изучают и дополняют ComponentModel
компонентов, подлежащих регистрации.
Таким образом, он может быть полностью прозрачным для компонентов и налагать явную связь между компонентами и оборудованием (если вы этого не хотите).