当 IoC 容器创建侦听器时,我正在尝试将我的侦听器自动注册到单例事件聚合器- 基本上是 Jeremy D. Miller 正在做的事情,但使用的是 Castle 而不是 StructureMap。
所以我希望能够“拦截”Windsor 的对象创建机制,如果对象支持标记接口(比方说IListener
),则将Subscribe
方法调用到一个EventAggregator
(也注册在容器中)以使新创建的对象成为订阅者到事件。此外,在容器释放对象实例之前,我希望能够取消订阅它。
我对温莎城堡中应该使用什么机制来实现这样的事情有点困惑?我开始查看IInterceptor
接口,但它似乎拦截了对对象的所有调用,这不是我真正需要的(并且出于性能原因想要避免)。