在阅读了有关 NServiceBus 3 对子容器支持的页面 ( http://docs.particular.net/nservicebus/containers/child-containers ) 之后,我期待在 Castle Windsor 中,父容器中的瞬态组件的行为类似于单例子容器。然而,这些父组件与子容器的依赖关系每次都会被实例化。
有没有办法在温莎城堡中实现父容器快照的这种行为?换句话说,容器中组件的瞬态,如果从子容器解析,则为单例。
在阅读了有关 NServiceBus 3 对子容器支持的页面 ( http://docs.particular.net/nservicebus/containers/child-containers ) 之后,我期待在 Castle Windsor 中,父容器中的瞬态组件的行为类似于单例子容器。然而,这些父组件与子容器的依赖关系每次都会被实例化。
有没有办法在温莎城堡中实现父容器快照的这种行为?换句话说,容器中组件的瞬态,如果从子容器解析,则为单例。
NServiceBus 使用 Castle Windsor 中的 Scoped 生活方式功能来实现子容器功能,请在此处阅读有关 Scoped 生活方式的信息:http: //docs.castleproject.org/Windsor.Whats-New-In-Windsor-3.ashx。所以瞬态会表现得像瞬态单例会表现得像单例,而作用域会表现得像单例 pr nservicebus 请求。我们对 ISession 使用范围生活方式,其余 99% 使用单例。我很少需要瞬变,至少在做网络应用时是这样。为什么您希望组件根据解析的位置而表现出不同的行为?我很确定您可以通过另一种方式完成此操作。