zoukankan      html  css  js  c++  java
  • Controller Action Parameter描述对象

    Asp.net MVC对请求的执行流程为:激活Controller、选择目标Action、绑定Action方法参数、执行Action。所以对Controller、Action和Parameter的描述尤为重要,其实描述也可以认为时特殊的元数据。在执行过程中通过这些元数据操作更方便。

    ControllerDescriptor

    Controller激活后,面临者怎样选择目标Action。

    1. 通过ControllerDescriptor.GetCanonicalActions得到有效的Action
    2. 分为两组1组为标注ActionNameSelectorAttribute特性的,2组为没有标注特性的对ActionName过滤
    3. 对匹配的Action进行ActionMethodSelectorAttribute属性过滤

    GetCanonicalActions

    得到Controller中有效的Action的描述对象,ActionDescriptor

    ActionNameSelectorAttribute

    重写抽象类,可修改ActionName的匹配

    ActionMethodSelectorAttribute

    对不同请求方法的过滤,包括HttpGet,HttpPost等,还包括NonActionAttribute任何请求方法都不匹配。

    ActionDescriptor

    ControllerDescriptor

    只读属性,Action的Controller的ControllerDescriptor

    GetParameters

    得到Action的Parameters的ParameterDescriptors

    GetFilters

    Action的过滤属性包括:
    IActionFilter 方法过滤
    IAuthenticationFilter 认证过滤
    IAuthorizationFilter 权限过滤
    IExceptionFilter 异常过滤
    IResultFilter 结果过滤

    ParameterDescriptor

    ActionDescriptor

    参数对应方法的描述对象

    ParameterBindingInfo

    请求数据绑定到参数

  • 相关阅读:
    java 分解质因数
    Unix 文件系统读写时权限校验
    find 命令实战巧用
    Linq分组功能
    三种查看SqlServer中数据物理pge页的方法
    一个高度压缩的bit位图字典的实现
    windbg 命令 gchandles
    ManualResetEvent和AutoResetEvent的区别实例
    一些汇编指令(基于8086)
    windbg sos版本不匹配问题解决
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9505815.html
Copyright © 2011-2022 走看看