public void OnActionExecuting(ActionExecutingContext context)
        {
            var request = context.HttpContext.Request;

            var ipAddress = IpHostInfo.AddressList.Where(a => a.AddressFamily == AddressFamily.InterNetwork)
                            .Select(address => address.ToString())
                            .FirstOrDefault();

            var operationLogModel = new OperationLogModel
            {
                IpAddress           = ipAddress,
                RequestedController = (string)context.RouteData.Values["controller"],
                RequestedAction     = (string)context.RouteData.Values["action"],
                RequestMethod       = request.Method,
                RequestPath         = request.Path.ToString(),
                OperationDate       = DateTime.Now
            };

            this.RedisManager.Set(new CacheModel
            {
                Model     = operationLogModel,
                Key       = operationLogModel.CacheKey,
                Renewable = false
            });
        }
예제 #2
0
        /// <summary>
        /// 插入操作日志
        /// </summary>
        /// <param name="operationLogInfo"></param>
        /// <returns></returns>
        public int PostData(OperationLogModel operationLogInfo)
        {
            return(1);

            /*
             * try
             * {
             *  int result;
             *  string operatorVal = "机器端";
             *  if (HttpContextHandler.GetHeaderObj("UserAccount") != null)
             *  {
             *      operatorVal = HttpContextHandler.GetHeaderObj("UserAccount").ToString();
             *  }
             *  operationLogInfo.Operator = operatorVal;
             *  operationLogInfo.OptDate = DateTime.Now;
             *  result = GenerateDal.Create(operationLogInfo);
             *  return result;
             * }
             * catch (Exception e)
             * {
             *  return 0;
             * }
             */
        }
예제 #3
0
        /// <summary>
        /// 记录系统日志
        /// </summary>
        public int RecordLog(OperationLogModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into operationlog(");
            strSql.Append("typeID,userID,ipAddress,opTime,details)");
            strSql.Append(" values (");
            strSql.Append("@typeID,@userID,@ipAddress,@opTime,@details)");
            MySqlParameter[] parameters =
            {
                new MySqlParameter("@typeID",    MySqlDbType.Int32,     10),
                new MySqlParameter("@userID",    MySqlDbType.Int32,     10),
                new MySqlParameter("@ipAddress", MySqlDbType.VarChar,   30),
                new MySqlParameter("@opTime",    MySqlDbType.DateTime),
                new MySqlParameter("@details",   MySqlDbType.VarChar, 2000)
            };
            parameters[0].Value = model.typeID;
            parameters[1].Value = model.userID;
            parameters[2].Value = model.ipAddress;
            parameters[3].Value = model.opTime;
            parameters[4].Value = model.details;

            return(MySQLHelper.ExecuteNonQuery(strSql.ToString(), parameters));
        }
예제 #4
0
 /// <summary>
 /// 记录日志
 /// </summary>
 public int RecordLog(OperationLogModel model)
 {
     return(opl_dal.RecordLog(model));
 }