Esempio n. 1
0
        /// <summary>
        /// 限制用户操作 限制多少秒内不能相同操作
        /// </summary>
        /// <param name="op">操作 不能为空</param>
        public static void Run(string op)
        {
            if (MaxPosts == 0)
            {
                return;
            }

            op = op.IsNullEmpty() ? "_sys_op_" : op;
            DateTime now = DateTime.Now;
            string   ip  = Request2.GetIP();

            int len = list.Where(p => p.Time.GetTimeSpan(now).Seconds < MaxSecond && ip == p.IP && p.Op == op).Count();

            if (len >= MaxPosts)
            {
                Msg.WriteEnd("限制{0}秒内不能相同操作".FormatWith(MaxSecond));
            }

            list.Add(new PostQueueInfo()
            {
                IP = ip, Time = now, Op = op
            });
            if (list.Count() > Length)
            {
                list.RemoveAt(0);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 限制用户操作 不能提交相同的内容
        /// </summary>
        /// <param name="op">操作 不能为空</param>
        /// <param name="content">内容</param>
        public static void RunContent(string op, string content)
        {
            op = op.IsNullEmpty() ? "_sys_op_" : op;
            DateTime now = DateTime.Now;
            string   ip  = Request2.GetIP();

            int len = list.Where(p => ip == p.IP && p.Op == op && p.Content == content).Count();

            if (len > 0)
            {
                Msg.WriteEnd("不能提交相同的内容");
            }

            list.Add(new PostQueueInfo()
            {
                IP = ip, Time = now, Op = op, Content = content
            });
            if (list.Count() > Length)
            {
                list.RemoveAt(0);
            }
        }
Esempio n. 3
0
        //#endregion
        //#region 错误消息
        /// <summary>
        /// 显示详细的出错信息
        /// </summary>
        /// <param name="ex">Exception ex</param>
        /// <returns></returns>
        public static string Expand(Exception ex)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("*******************************************************************************************************");
            if (!HttpContext.Current.IsNull())
            {
                sb.AppendLine(string.Format("* DateTime :   {0}	IP:{1}	MemberID:{2}	OS:{3}	Brower:{4}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Request2.GetIP(), "", Request2.GetOS(), Request2.GetBrowser()));
                sb.AppendLine("* Url      :   " + Request2.GetUrl());
                sb.AppendLine("* Request  :   " + Request2.GetRequest());
            }
            _expandException(ex, 1, sb);
            sb.AppendLine("*******************************************************************************************************");
            sb.AppendLine("");
            return(sb.ToString());
        }
Esempio n. 4
0
        /// <summary>
        /// 写日志
        /// </summary>
        /// <param name="msg">消息</param>
        /// <param name="encoding">编码</param>
        /// <returns>true/false</returns>
        public bool Write(string msg, Encoding encoding = null)
        {
            string        LogFile = LogPath.TrimEnd('\\') + @"\Log_" + DateTime.Now.ToString("yyyyMMdd") + ".log";
            StringBuilder sb      = new StringBuilder();

            sb.AppendLine("/*******************************************************************************************************");
            sb.AppendLine(string.Format("* DateTime:{0}{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), HttpContext.Current.IsNotNull() ? ("	IP:{0}	OS:{1}	Brower:{2}".FormatWith(Request2.GetIP(), Request2.GetOS(), Request2.GetBrowser())) : ""));
            if (HttpContext.Current.IsNotNull())
            {
                sb.AppendLine("* Url:" + Request2.GetUrl());
                sb.AppendLine("* Data:" + Request2.GetRequestInputStream());
            }
            sb.AppendLine("* Message:" + msg);
            sb.AppendLine("*******************************************************************************************************/");
            sb.AppendLine("");
            return(FileDirectory.FileWrite(LogFile, sb.ToString(), encoding ?? Encoding.UTF8));
        }