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

    请求数据绑定到参数

  • 相关阅读:
    IE兼容只读模式
    关于css实现单行、多行省略标记
    table表格字母无法换行
    IE浏览器兼容background-size
    IE兼容rgba()透明度
    修改输入框placeholder的默认样式
    Swarm+Docker+Portainer(集群,图形化)
    Docker的centos镜像内无法使用systemctl命令的解决办法
    Docker 制作Nginx镜像
    Xtrabackup 全量备份脚本
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9505815.html
Copyright © 2011-2022 走看看