• 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

  • 相关阅读:
    java笔试之数字颠倒
    java笔试之取近似值
    java笔试之求int型正整数在内存中存储时1的个数
    js日期格式化Date
    【算法导论C++代码】归并排序
    Unity3D 错误nativeVideoFrameCallback的解决方法
    Unity3D脚本(MonoBehaviour)生命周期分析
    Unity3D 移动MM failed to find resource file{mmiap.xml}解
    Unity3D C#打开外部应用程序,并检测应用程序是否关闭退出
    Unity3d脚本执行顺序详解
  • 原文地址:https://www.cnblogs.com/lei2007/p/3204004.html
Copyright © 2020-2023  润新知