0

我正在尝试注册 ApplicationContext,但不断收到错误消息。

我的 Windsor 安装程序如下所示:

    public void Install(IWindsorContainer container, IConfigurationStore store)
    {
        container.Register(

            Component.For<ApplicationContext>().ImplementedBy<MyInitializer>(),

            Classes.FromThisAssembly().Pick()
                    .WithService.DefaultInterfaces()
                    .LifestyleTransient()
            );
    }

但是,当尝试像这样解决它时:

public class BootStrapperWindsor
{
    public IWindsorContainer BootstrapContainer { get; set; }
    public ApplicationContext ApplicationContext
    {
        get { return BootstrapContainer.Resolve<MyInitializer>(); }
    }

    public BootStrapperWindsor()
    {
         BootstrapContainer = new WindsorContainer().Install(FromAssembly.This());
    }
}

调用 ApplicationContext 时出现此错误:

“未找到支持服务 MyInitializer 的组件”

当我使用结构图并在我的结构图注册表中建立类似的关联时,它工作正常:

For<ApplicationContext>().Use<MyInitializer>();

但是,我似乎无法正确地将其转换为温莎。

我做错了什么,我不能用 MyInitializer 实现 ApplicationContext?

此外,MyInitializer 继承自 ApplicationContext。

4

1 回答 1

2

container.Resolve< ApplicationContext>()是你想要的。

于 2013-06-05T21:54:46.690 回答