Пример #1
0
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var request = filterContext.RequestContext.HttpContext.Request;
            var entity  = new T_COMN_LOG();

            entity.RZLX = LogTypes.行为日志.ToString();
            entity.XH   = Guid.NewGuid().ToString();
            entity.CZSJ = DateTime.Now;
            entity.CZR  = session.UserName;
            entity.QQLJ = request.Url.PathAndQuery;
            entity.JQDZ = WebHelper.GetClientIpAddress();
            entity.MK   = this.Module;
            entity.CZLX = this.Operatetype;
            entity.CJSJ = DateTime.Now;
            entity.CJR  = filterContext.HttpContext.User.Identity.Name;

            var actionParameters = filterContext.RequestContext.HttpContext.Items["ActionParameters"] as IDictionary <string, object>;

            if (actionParameters != null)
            {
                SetInputValue(filterContext, actionParameters, entity);
            }

            base.OnActionExecuted(filterContext);
            this.logService.Log(entity);
        }
Пример #2
0
        private void SetInputValue(ActionExecutedContext filterContext, IDictionary <string, object> actionParameters, T_COMN_LOG entity)
        {
            var paraDescriptor = filterContext.ActionDescriptor.GetParameters();

            if (paraDescriptor.Length == 0)
            {
                return;
            }
            if (paraDescriptor.Length == 1 && paraDescriptor[0].ParameterType.IsClass && paraDescriptor[0].ParameterType != typeof(string)
                )
            {
                entity.QQCSL = paraDescriptor[0].ParameterType.FullName;
                entity.QQCS  = JsonConvert.SerializeObject(actionParameters.Values.First());
                return;
            }

            var result = new StringBuilder();

            result.Append("{");
            foreach (var item in actionParameters)
            {
                result.Append(string.Format("\"{0}\":{1}", item.Key, JsonConvert.SerializeObject(item.Value)));
                result.Append(",");
            }
            result.Remove(result.Length - 1, 1);

            result.Append("}");
            entity.QQCS = result.ToString();
        }