【发布时间】:2010-10-15 06:07:56
【问题描述】:
我有一个 MixIn,它需要一些状态才能运行。
我是这样注册的..
container.Register(Component.For(Of ICat) _
.ImplementedBy(Of Cat) _
.LifeStyle.Transient _
.Proxy.MixIns(New MyMixin()))
当我调用 container.Resolve(of ICat) 时,我得到了一个 ICat 代理,它也实现了 IMixin。
但是,如果我再次调用 container.Resolve(of ICat),我将获得 ICat 的新代理,但 MyMixin 是相同的实例。 (这是有道理的,因为我没有告诉容器任何创建 IMixin 的方法)
所以,IMixin 是一个单例,即使组件的生活方式是瞬态的。
如何通过 Fluent 接口告诉 Windsor 为组件创建一个新的 MyMixIn 实例?
【问题讨论】:
标签: castle-windsor aop mixins castle-dynamicproxy