public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
//其他操作
routesMapRoute(
name: Home
url:
defaults: new { controller = Employee action = GetAllEmployees }
)
routesMapRoute(
name: Detail
url: {name}/{id}
defaults: new { controller = Employee action = GetEmployeeById }
)
}
}
自定义的ControllerFactory(UnityControllerFactory)在Globalasax中通过如下的代码进行注册用于创建UnityControllerFactory的UnityContainer对象注册了IEmployeeRepository和EmployeeRepository之间的映射关系
public class MvcApplication : SystemWebHttpApplication
{
protected void Application_Start()
{
//其他操作
UnityContainer unityContainer = new UnityContainer()
unityContainerRegisterType<IEmployeeRepository EmployeeRepository>()
UnityControllerFactory controllerFactory =
new UnityControllerFactory(unityContainer)
ControllerBuilderCurrentSetControllerFactory(controllerFactory)
}
}
除此之外我们还为该实例应用定义相应的布局文件和CSS样式在这里就不一一介绍了这个例子旨在演示通过自定义ControllerFactory实现以IoC的方式激活目标Controller对象这样可以最大限度地降低Controller和其他组件之间的依赖关系因为这些依赖会被用于激活Controller的IoC容器动态注入
返回目录ASPNET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化让你的Java程序更快更稳定
Visual C++音频/视频技术开发与实战
[] []