アプリケーションのセットアップ (初期化) を行いたいと考えています。でこれを行いGlobal.asax.cs
ます。
目標を達成するには、依存関係 (おそらくリポジトリ) が必要になります。
の実装を注入するにはどうすればよいIFooRepository
ですか?
public class MvcApplication : HttpApplication
{
private static IFooRepository _fooRepository;
protected void Application_Start()
{
// ...
IFoo foo = _fooRepository.Get(0);
foo.DoSomething();
}
}
私はこれを試しましたが、失敗しました:
public class RepositoriesInstaller : IWindsorInstaller
{
void IWindsorInstaller.Install(Castle.Windsor.IWindsorContainer container,
Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
{
container.AddFacility<TypedFactoryFacility>();
container.Register(
Component.For<IFoo>()
.ImplementedBy<Foo>()
.LifestyleTransient(),
Component.For<IFooRepository>().AsFactory());
container.Register(Classes.FromThisAssembly()
.BasedOn<IFooRepository>()
.WithServiceDefaultInterfaces()
.LifestyleTransient());
}
}
構築されていないもの (静的クラス) に依存関係を注入するにはどうすればよいですか?
インターフェイスベースのファクトリのドキュメントを読みましたが、理解できません。
施設とは?それらは何に使用されますか?