zoukankan      html  css  js  c++  java
  • Asp.net MVC通过自定义特性实现Action日志记录

    一、自定义特性

    /// <summary>
        /// 描述特性
        /// </summary>
        [AttributeUsage(AttributeTargets.Method)]
        public sealed class DescribeAttribute : Attribute
        {
            private string _funDescribe;
    
            public DescribeAttribute() { }
    
            public DescribeAttribute(string funDescribe)
            {
                this._funDescribe = funDescribe;
            }
    
            public string FunDescribe
            {
                get { return _funDescribe; }
            }
        }

    二、在Action上面加入特性

    [Describe("系统主页面")]
            public ActionResult Index()
            {
                return View();
            }

    三、继承ActionFilterAttribute实现LogFilter日志

    public sealed class LogFilter : ActionFilterAttribute
        {
            public override void OnActionExecuted(ActionExecutedContext filterContext)
            {
                if (filterContext == null)
                {
                    throw new ArgumentNullException(nameof(filterContext));
                }
    
                object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(DescribeAttribute), false);
                if (attrs.Length > 0)
                {
                    string funDescribe = ((DescribeAttribute)attrs[0]).FunDescribe;
                }
                base.OnActionExecuted(filterContext);
            }
        }

    四、在App_Start文件夹下面加入全局日志过滤器

    public class FilterConfig
        {
            public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new AuthorizeAttribute());
                filters.Add(new HandleErrorAttribute());
                filters.Add(new LogFilter());
            }
        }
  • 相关阅读:
    关于影像颜色替换
    DevExpress TreeList控件的复选框
    深刻理解Vue中的组件
    【Vue】组件的基础与组件间通信
    vue语法糖
    vue中prop传值时加不加v-bind(冒号:)
    Vue从入门到实战
    vue-router实现原理
    Vue学习笔记——Vue-router
    Vue-router 学习笔记
  • 原文地址:https://www.cnblogs.com/tangchun/p/7803253.html
Copyright © 2011-2022 走看看