asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET MVC 4框架揭秘:基于IoC的ControllerActivator[2]


发布日期:2021年10月15日
 
ASP.NET MVC 4框架揭秘:基于IoC的ControllerActivator[2]

public class EmployeeController : Controller

{

//其他成员

public IEmployeeRepository Repository { get; private set; }

public EmployeeController(IEmployeeRepository repository)

{

thisRepository = repository;

}

}

为了让ASPNET MVC的Controller激活系统采用我们自定义的ControllerActivator来创建目标Controller我们需要创建并注册一个相应的DefaultControllerFactory对象如下面的代码片段所示我们在Globalasax中创建一个NinjectControllerActivator对象并注册了接口IEmployeeRepository和实现类型EmployeeRepository之间的匹配关系最后据此创建一个DefaultControllerFactory对象通过当前的ControllerBuilder进行注册

public class MvcApplication : SystemWebHttpApplication

{

protected void Application_Start()

{

//其他成员

NinjectControllerActivator controllerActivator =

new NinjectControllerActivator()

controllerActivatorRegister<IEmployeeRepository EmployeeRepository>()

DefaultControllerFactory controllerFactory =

new DefaultControllerFactory(controllerActivator)

ControllerBuilderCurrentSetControllerFactory(controllerFactory)

}

}

再次运行我们的程序依然会得到如图所示的结果其实自定义ControllerActivator实现IoC的方式并不是很常用接下来我们介绍第三种更加常用的IoC实现方式

返回目录ASPNET MVC 框架揭秘

编辑推荐

ASP NET开发培训视频教程

Microsoft NET框架程序设计视频教程

Java程序性能优化让你的Java程序更快更稳定

Visual C++音频/视频技术开发与实战

[] []

               

上一篇:ASP.NET MVC 4框架揭秘:基于IoC的ControllerFactory(3)[2]

下一篇:ASP.NET MVC 4框架揭秘:基于IoC的ControllerActivator[1]