public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!ShouldSaveAudit(filterContext))
            {
                AbpAuditFilterData.Set(filterContext.HttpContext, null);
                return;
            }

            var currentMethodInfo = filterContext.ActionDescriptor.GetMethodInfoOrNull();
            var actionStopwatch   = Stopwatch.StartNew();
            var auditInfo         = new AuditInfo
            {
                TenantId             = AbpSession.TenantId,
                UserId               = AbpSession.UserId,
                ImpersonatorUserId   = AbpSession.ImpersonatorUserId,
                ImpersonatorTenantId = AbpSession.ImpersonatorTenantId,
                ServiceName          = currentMethodInfo.DeclaringType != null
                                ? currentMethodInfo.DeclaringType.FullName
                                : filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
                MethodName    = currentMethodInfo.Name,
                Parameters    = ConvertArgumentsToJson(filterContext),
                ExecutionTime = Clock.Now
            };

            AbpAuditFilterData.Set(
                filterContext.HttpContext,
                new AbpAuditFilterData(
                    actionStopwatch,
                    auditInfo
                    )
                );
        }
Beispiel #2
0
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var auditData = AbpAuditFilterData.GetOrNull(filterContext.HttpContext);

            if (auditData == null)
            {
                return;
            }

            auditData.Stopwatch.Stop();

            auditData.AuditInfo.ExecutionDuration = Convert.ToInt32(auditData.Stopwatch.Elapsed.TotalMilliseconds);
            auditData.AuditInfo.Exception         = filterContext.Exception;

            _auditingHelper.Save(auditData.AuditInfo);
        }
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var auditData = AbpAuditFilterData.GetOrNull(filterContext.HttpContext);

            if (auditData == null)
            {
                return;
            }

            auditData.Stopwatch.Stop();

            auditData.AuditInfo.ExecutionDuration = Convert.ToInt32(auditData.Stopwatch.Elapsed.TotalMilliseconds);
            auditData.AuditInfo.Exception         = filterContext.Exception;

            if (_auditingConfiguration.SaveReturnValues && filterContext.Result != null)
            {
                switch (filterContext.Result)
                {
                case AbpJsonResult abpJsonResult:
                    if (abpJsonResult.Data is AjaxResponse ajaxResponse)
                    {
                        auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(ajaxResponse.Result);
                    }
                    else
                    {
                        auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(abpJsonResult.Data);
                    }
                    break;

                case JsonResult jsonResult:
                    auditData.AuditInfo.ReturnValue = _auditSerializer.Serialize(jsonResult.Data);
                    break;

                case ContentResult contentResult:
                    auditData.AuditInfo.ReturnValue = contentResult.Content;
                    break;
                }
            }

            _auditingHelper.Save(auditData.AuditInfo);
        }
Beispiel #4
0
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!ShouldSaveAudit(filterContext))
            {
                AbpAuditFilterData.Set(filterContext.HttpContext, null);
                return;
            }

            var auditInfo = _auditingHelper.CreateAuditInfo(
                filterContext.ActionDescriptor.GetMethodInfoOrNull(),
                filterContext.ActionParameters
                );

            var actionStopwatch = Stopwatch.StartNew();

            AbpAuditFilterData.Set(
                filterContext.HttpContext,
                new AbpAuditFilterData(
                    actionStopwatch,
                    auditInfo
                    )
                );
        }
Beispiel #5
0
 public static void Set(HttpContextBase httpContext, AbpAuditFilterData auditFilterData)
 {
     GetAuditDataStack(httpContext).Push(auditFilterData);
 }
 public static void Set(HttpContextBase httpContext, AbpAuditFilterData auditFilterData)
 {
     GetAuditDataStack(httpContext).Push(auditFilterData);
 }