文档章节

反射获取所有Action

 蛰伏的虫
发布于 2016/03/06 22:51
字数 83
阅读 5
收藏 0
public IList<ActionPermission> GetAllActionByAssembly()
{
var result = new List<ActionPermission>();

var types = Assembly.Load("Demo.HIS.MVC").GetTypes();

foreach (var type in types)
{
if (type.BaseType.Name == "BaseController")//如果是Controller
{
var members = type.GetMethods();
foreach (var member in members)
{
if (member.ReturnType.Name == "ActionResult")//如果是Action
{

var ap = new ActionPermission();

ap.ActionName = member.Name;
ap.ControllerName = member.DeclaringType.Name.Substring(0, member.DeclaringType.Name.Length - 10); // 去掉“Controller”后缀

object[] attrs = member.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), true);
if (attrs.Length > 0)
ap.Description = (attrs[0] as System.ComponentModel.DescriptionAttribute).Description;

result.Add(ap);
}

}
}
}
return result;
}

本文转载自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html

粉丝 1
博文 17
码字总数 1779
作品 0
遂宁
私信 提问
Action 分发机制实现原理

本文是《轻量级 Java Web 框架架构设计》的系列博文。 整个 Web 应用中,只有一个 Servlet,它就是 DispatcherServlet。它拦截了所有的请求,内部的处理逻辑大致是这样的: 1. 获取请求相关信...

黄勇
2013/09/03
11.7K
31
从0开始写JavaWeb框架系列(5)从0开始写SamrtFrameWork:加载控制器

一、加载带有@Controller注解的控制器 1.1、首先我们需要获取带有@Controller注解的所有类,因此可以通过我们事先写好的ClassHelper.java来获取。 1.2、获取到所有带有@Controller注解的Cla...

AAASSSSddd
2016/05/27
49
0
ASP.NET MVC三个重要的描述对象:ActionDescriptor

在Model绑定过程中会通过激活的Controller类型创建用于描述它的ControllerDescriptor对象。Controller是一组Action方法的集合,而每一个Action通过ActionDescriptor对象来表示,在这篇文章中...

长平狐
2012/09/04
114
0
ASP.NET MVC三个重要的描述对象:ControllerDescriptor

ASP.NET MVC应用的请求都是针对某个Controller的某个Action方法,所以对请求的处理最终体现在对目标Action方法的执行。而Action方法具有相应的参数,所以在方法执行之前必须根据相应的规则从...

长平狐
2012/09/04
185
0
JFinal源码分析------初始化那些事儿3之ActionMapping

今儿话题,ActionMapping,这个过程主要是建立起你URL访问使用具体是使用哪儿个Action去处理你的请求,这个过程主要也是也是发生在JFinalFilter初始化过程中的,下面我们就具体好好分析分析,...

天蓬小猪
2013/05/24
934
5

没有更多内容

加载失败,请刷新页面

加载更多

Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
5
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部