/// <summary> /// 产生错误 /// </summary> /// <param name="actionExecutedContext"></param> public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { WebApiProp wenApiProp = actionExecutedContext.Request.Properties[Key] as WebApiProp; var ActionName = actionExecutedContext.ActionContext.ActionDescriptor.ActionName; var ControllerName = actionExecutedContext.ActionContext.ActionDescriptor.ControllerDescriptor.ControllerName; if (ControllerName != "Log") { BLogRecord log = new BLogRecord() { ActionName = ActionName, ControllerName = ControllerName + "Controller", STime = wenApiProp.ExecuteStartTime, ETime = DateTime.Now, CreateDate = DateTime.Now, ActionPara = wenApiProp.GetCollections(wenApiProp.ActionParams), TimeSpan = decimal.Parse((wenApiProp.ExecuteEndTime - wenApiProp.ExecuteStartTime).TotalSeconds.ToString()), IP = wenApiProp.GetIP() }; if (actionExecutedContext.Exception != null) { log.Category = "错误"; log.Contents = actionExecutedContext.Exception.Message; } else { log.Category = "正常"; } _iLogAppService = GetLogAppService(); //iLogAppService; _iLogAppService.AddLogRecord(log); } }
/// <summary> /// 调用时触发 /// </summary> /// <param name="actionContext"></param> public override void OnActionExecuting(HttpActionContext actionContext) { base.OnActionExecuting(actionContext); WebApiProp prop = new WebApiProp(); prop.ExecuteStartTime = DateTime.Now; prop.ActionParams = actionContext.ActionArguments; prop.HttpMethod = actionContext.Request.Method.Method; prop.HttpRequestHeaders = actionContext.Request.Headers.ToString(); actionContext.Request.Properties[Key] = prop; }