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>();
しかし、これを正しく Windsor に変換できないようです。
MyInitializer で ApplicationContext を実装できないというのは、何が間違っているのでしょうか?
また、MyInitializer は ApplicationContext を継承しています。