2013-06-05 85 views
0

我想注册ApplicationContext,但不断收到错误。温莎城堡&注册ApplicationContext

我的温莎安装程序是这样的:

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的服务被发现“

它工作f INE当我用structuremap在我structuremap注册表中进行类似的关联关系:

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

但是,我似乎无法在此正确地转换到温莎。

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

此外,MyInitializer继承自ApplicationContext。

回答

2

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

+0

对我而言是Derp。感谢您的支持。 –