• 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

    请求数据绑定到参数

  • 相关阅读:
    windows2016优化
    oracle什么时候需要commit
    Mysql的锁表,锁行记录
    git add
    linux系统优化
    解决rsyslog启动问题
    HAProxy启用日志功能
    nc命令获取远端端口状态
    将pip源更换到国内镜像
    Centos7.6下安装Python3.7
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9505815.html
Copyright © 2020-2023  润新知