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);
            }
  • 相关阅读:
    Centos7源码安装mysql及读写分离,互为主从
    Linux简介及Ubuntu安装
    CentOS7 IP自动获取
    memcached总结
    CentOS7安装iptables防火墙
    centos 7.0 mono&Jexus V5.5.3安装
    设置背景模糊效果
    vue 动画过渡
    sticky footer
    设置最低高度为100%
  • 原文地址:https://www.cnblogs.com/SasaL/p/11224344.html
Copyright © 2011-2022 走看看