目前我们使用 StructureMap v2.6 进行依赖注入,我们的设置是这样的:
在 Application_Start 我们有:
DependencyResolver.SetResolver(new StructureMapDependencyResolver(IoC.Initialize()));
Initialize 方法是这样实现的:
public static IContainer Initialize() {
ObjectFactory.Initialize(x => {
x.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); });
x.For<IFoo>().Use(() => new Foo());
});
return ObjectFactory.Container;
}
}
在我们的代码中,我们有几个地方使用ObjectFactory.GetInstance<IFoo>()
而不是使用构造函数注入。对于 StructureMap v3,这已被标记为过时,所以我的问题是我们如何使用最新版本实现相同的目标。