使用Windsor中的BoundTo Lifestyle和TypedFactoryFacility

时间:2012-04-17 17:17:13

标签: castle-windsor typed-factory-facility

我想将Windsor中的BoundTo Lifestyle与TypedFactoryFacility结合使用,其中工厂维护其作用域上下文。但是我注意到目前不支持此功能(https://groups.google.com/forum/?fromgroups#!topic/castle-project-users/txDi3dZ8veQ)。有人可以解释我是如何实现这一点的,也许在温莎有不同的方法来做同样的事情吗?

我有一个类似于以下的场景。我在其中使用Command将新面板添加到工作区,我希望将相同的ISomeScopedViewModel实例注入到我添加的每个面板中(由工厂IWorkspacePanelViewModelFactory创建)。

情景:

        _container = new WindsorContainer();

        _container.Kernel.AddFacility<TypedFactoryFacility>();

        _container.Register(
           Component.For<IWorkspaceViewModel>().ImplementedBy<WorkspaceViewModel>().LifeStyle.Is(LifestyleType.Transient),
           Component.For<ISomeScopedViewModel>().ImplementedBy<SomeScopedViewModel>().LifeStyle.BoundTo<IWorkspaceViewModel>(),
           Component.For<IWorkspacePanelViewModel>().ImplementedBy<WorkspacePanelViewModel>().LifeStyle.Is(LifestyleType.Transient),
           Component.For<IWorkspacePanelViewModelFactory>().AsFactory()
        ...
        );

0 个答案:

没有答案