1.利用反射获取当前程序集下的所有控制器和方法,拼接后写入到数据库。

 public void GetRightInfo()
        {
            var ControllerIDMax = db.rights_info.Select(p => p.RightsID).Max() + 1;
            var controllerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(p => typeof(IController).IsAssignableFrom(p));

            foreach (var item in controllerTypes)
            {
                var actionMethods = item.GetMethods().Where(q => q.ReturnType.Name == "ActionResult");
                foreach (var action in actionMethods)
                {
                    var rightsName = item.Name.Replace("Controller", "").ToLower() + "/" + action.Name.ToLower();
                    var ControllerInfo = new rights_info()
                    {
                        RightsID = ControllerIDMax,
                        RightsName =rightsName
                    };
                    if (db.rights_info.Where(p => p.RightsName == rightsName).Count() == 0)
                    {
                        db.rights_info.AddObject(ControllerInfo);
                        ControllerIDMax++;
                    }
                }
            }
            db.SaveChanges();
        }
Get Url

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2022-02-04
  • 2022-02-28
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
相关资源
相似解决方案