/// <summary>
 /// 在Action方法调用前
 /// </summary>
 /// <param name="context"></param>
 public override void OnActionExecuting(ActionExecutingContext context)
 {
     context.HttpContext.Items[TimeKey] = Stopwatch.StartNew();
     //实例化数据库连接
     if (context.Controller is ApiControllerBase)
     {
         ApiControllerBase controller = (context.Controller as ApiControllerBase);
         controller.connection = new SqlConnection(ConfigHelper.GetSetting("ConnectionStrings:DefaultConnection").ToString());
         if (context.HttpContext.Request.Headers.ContainsKey("SysLoginRight"))//传递用户登录信息
         {
             var str = System.Web.HttpUtility.UrlDecode(context.HttpContext.Request.Headers["SysLoginRight"].ToString());
             controller.LoginUserInfo = JsonConvert.DeserializeObject <SysLoginRight>(str);
         }
     }
 }
        /// <summary>
        ///  在Action方法调用后
        /// </summary>
        /// <param name="context"></param>
        public override void OnActionExecuted(ActionExecutedContext context)
        {
            var timer = context.HttpContext.Items[TimeKey] as Stopwatch;

            timer.Stop();
            if (timer.Elapsed.TotalSeconds > 3)
            {
                LogHelper.Warn(context.ActionDescriptor.DisplayName, "耗时:" + timer.Elapsed.TotalSeconds);
            }
            //关闭连接
            if (context.Controller is ApiControllerBase)
            {
                ApiControllerBase controller = (context.Controller as ApiControllerBase);
                controller.connection.Close();
            }
        }