zoukankan      html  css  js  c++  java
  • MVC获取Controller和Action

    /// <summary>
            /// 读取项目中的Controller和Action,记录到数据库中
            /// </summary>
            public void Init()
            {
                //控制器类型列表
                List<Type> controllerTypes = new List<Type>();
                //加载程序集
                var assembly = Assembly.Load(Conn.CreateInstance().AssemblyName);
                //获取程序集下所有的类
                controllerTypes.AddRange(assembly.GetTypes().Where(type => typeof(Controller).IsAssignableFrom(type) && type.Name != "ErrorController"));
                List<ConAct> cons = new List<ConAct>();
                foreach (var item in controllerTypes)
                {
                    ConAct con = new ConAct();
                    //控制器的全名称
                    string controllerName = item.FullName;
                    con.ConName = controllerName;
                    //获取控制器的方法
                    var methods = item.GetMethods().Where(method => method.ReturnType.Name == "ActionResult" || method.ReturnType.Name == "IActionResult");
                    con.ActNames = new List<string>();
                    foreach (var method in methods)
                    {
                        if (method.Name != "ValidationProblem")
                        {
                            con.ActNames.Add(method.Name);
                        }
                    }
                    cons.Add(con);
                }
                SetConAct(cons);
            }
  • 相关阅读:
    vim高亮
    mengning
    4.4内核osal
    tmpvalgrind
    为什么引入协程
    alloc_call_show(转)
    TSAN
    如何查看哪些进程占用Buffer和Cache高(转)
    ASAN详解其他参考链接
    Linux系统与程序监控工具atop教程(转)
  • 原文地址:https://www.cnblogs.com/SasaL/p/11224344.html
Copyright © 2011-2022 走看看