• Artech的MVC4框架学习——第二章URL路由


    总结:HttpModule 和HttpHandler是Asp.net管道的两个重要组件。请求最终处理通过HttpHandler完成。MVC就是通过名为MvcHandler自定义HttpHandler现实对Controller的激活和Action的执行。但对c 和A名称的解析是通过Asp.net的URL路由系统完成,而整个URL路由系统是通过名为UrlRoutingModule的自定义HttpModule实现的。

    第一 Asp.net路由系统 有一个针对整个Web应用的全局路由表,表中每一个路由对象 具有一个可以包含变量的URL模版。Asp.net 路由系统 即作为自定义 HttpModule的UrlRoutingModule通过注册HttpApplication的PostResolveRequestCache事件进行拦截,并利用路由表与请求的URL进行匹配得到相应路由数据,交给HttpHandler动态映射来实现(从可扩展性的角度来讲,通过三种方式显现我们需要的路由方式,详见p80)。

    第二 MVC对Asp.net路由系统扩展。Asp.net路由系统通过注册URL模版与物理文件之间映射进行实现了请求地址与文件路径分离,但对于MVC请求目标不是物理文件,而是controller中的Action,处于自身考虑,mvc对asp.net路由系统进行扩展。

    1.路由映射 根据aps.net RouteCollection类型自定义了System.Web.Mvc.RouteCollectionExtensions,包含两个方法IgnoreRoute用于注册不需要URL模版;MapRoute用于基于URL模版的路由注册(p61)

    2.基于Area的路由映射,根据Area相当于划分不同小系统,每个Area里面包含独立的 c v m和配置文件。Area路由映射通过System.Web.Mvc.AreaRegistration进行注册(P67)

    第三 MVC框架扩展--URL研发人员自定义扩展,即:从可扩展性的角度来讲,通过三种方式显现我们需要的路由方式,详见p80

  • 相关阅读:
    Log4Net 生成多个文件、文件名累加解决方法
    HTML name、id、class 的区别
    C# 基础(一) 访问修饰符、ref与out、标志枚举等等
    HTML iframe 和 frameset 的区别
    未在本地计算机上注册"OraOLEDB.Oracle"提供程序
    HTML 页面源代码布局介绍
    HTML 基础控件介绍
    图的BFS与DFS的应用
    迷途指针,从百度百科上摘抄的,语言很幽默
    详解C中volatile关键字
  • 原文地址:https://www.cnblogs.com/lei2007/p/3204004.html
Copyright © 2020-2023  润新知