0
我使用StructureMap作爲DI和MVC 4.我通過StructureMap在構造函數中推送某些對象。StructureMap,MVC和ObjectInstantiation
繼我在的bootstraper
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實例化對象的方式?
如果我不是很清楚,請讓我知道嗎?
感謝,
一個