我将 StructureMap 用作 MVC 4 的 DI。我通过 StructureMap 在构造函数中推送某些对象。
以下我在引导程序中
public static void ConfigureDependencies()
{
ObjectFactory.Initialize(IE =>
{
IE.UseDefaultStructureMapConfigFile = true;
});
}
控制器工厂如下
public class ControllerMyFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType)
{
return ObjectFactory.GetInstance(controllerType) as IController;
}
}
然后我将其插入 Global.asax
BootStrapper.ConfigureDependencies();
ControllerBuilder.Current.SetControllerFactory(new ControllerMyFactory());
以下是我的控制器之一
public class SomeController : Controller
{
ISomeService service;
public SomeController(ISomeService service)
{
this.service = service;
}
}
现在我的问题是对象实例化,它在构造函数中传递。我曾经像以下那样构造这个对象
ISomeService service = CommonGateway.GetChannnel<ISomeService>();
如何使用 StructureMap 插入此插件?如何更改 StructureMap 实例化对象的方式?
如果我不是很清楚,请告诉我?
谢谢,
一个