我正在尝试记录我的网络应用中的所有操作,我想做的其中一件事就是为操作提供示例网址。
有没有办法列出网站中的所有操作及其路线,或者是从MethodInfo中找到路线的方法?
我想我可能必须为每个动作编写一个自定义属性,以指定用于带参数的动作的虚拟值。
答案 0 :(得分:1)
您可以使用反射轻松获取所有操作:
var actions =
from controller in Assembly.GetExecutingAssembly().GetTypes()
where typeof(Controller).IsAssignableFrom(controller)
from action in controller.GetMethods()
where typeof(ActionResult).IsAssignableFrom(action.ReturnType)
select new { Controller = controller, Action = action };
适应包含您感兴趣的程序集。