我想对我的应用程序进行一些设置(初始化)。我在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());
}
}
如何将依赖项注入未构造的东西(静态类)?
我已经阅读了基于接口的工厂的文档,但我不明白。
什么是设施?它们是用来做什么的?