Exemplo n.º 1
0
        /// <summary>
        /// 调用IP监控组件
        /// </summary>
        /// <returns>返回true,Ip被限。返回false,IP没有被限制</returns>
        private bool InvokeIpMonitor()
        {
            bool result = false;

            while (true && !SignalControl.Issuspend)
            {
                double sleepTime = 5;
                try
                {
                    ////取监控间隔时间
                    string intervatTime = SysParamHelper.GetParamById <string>("ITZC_YW_CheckIPLockedIntervalTime", "xxxxx");
                    if (intervatTime == "xxxxx")
                    {
                        intervatTime = "5";
                    }

                    sleepTime = Convert.ToDouble(intervatTime);
                    MessagePipe.ExcuteWriteMessageEvent("开始调用监控组件,调用过后睡" + sleepTime + "分钟", Color.Red, false);
                    //////调用监控组件
                    MatchIpLimitRule iplimit = new MatchIpLimitRule();
                    result = iplimit.IslimitIp();

                    ////如果发现需要替换IP,并且距离上一次替换的时间间隔大于2分钟
                    if (result)
                    {
                        if (DateTime.Now.Subtract(this.replaceIpTime).Minutes > 2)
                        {
                            MessagePipe.ExcuteWriteMessageEvent("检测到IP:" + VpnServer.Address + "被限", Color.Red, true);
                            this.replaceIpTime = DateTime.Now;
                            break;
                        }
                        else
                        {
                            MessagePipe.ExcuteWriteMessageEvent("检测到IP被限,但距离上次替换时间间隔不到2分钟,暂不替换", Color.Red, true);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessagePipe.ExcuteWriteMessageEvent("调用监控组件异常" + ex.Message.ToString(), Color.Red, true);
                }
                finally
                {
                    Thread.Sleep(TimeSpan.FromMinutes(sleepTime));
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 调用IP监控组件
        /// </summary>
        /// <returns>返回true,Ip被限。返回false,IP没有被限制</returns>
        private bool InvokeIpMonitor()
        {
            bool result = false;
            while (true && !SignalControl.Issuspend)
            {
                double sleepTime = 5;
                try
                {
                    ////取监控间隔时间
                    string intervatTime = SysParamHelper.GetParamById<string>("ITZC_YW_CheckIPLockedIntervalTime", "xxxxx");
                    if (intervatTime == "xxxxx")
                    {
                        intervatTime = "5";
                    }

                    sleepTime = Convert.ToDouble(intervatTime);
                    MessagePipe.ExcuteWriteMessageEvent("开始调用监控组件,调用过后睡" + sleepTime + "分钟", Color.Red, false);
                    //////调用监控组件
                    MatchIpLimitRule iplimit = new MatchIpLimitRule();
                    result = iplimit.IslimitIp();

                    ////如果发现需要替换IP,并且距离上一次替换的时间间隔大于2分钟
                    if (result)
                    {
                        if (DateTime.Now.Subtract(this.replaceIpTime).Minutes > 2)
                        {
                            MessagePipe.ExcuteWriteMessageEvent("检测到IP:" + VpnServer.Address + "被限", Color.Red, true);
                            this.replaceIpTime = DateTime.Now;
                            break;
                        }
                        else
                        {
                            MessagePipe.ExcuteWriteMessageEvent("检测到IP被限,但距离上次替换时间间隔不到2分钟,暂不替换", Color.Red, true);
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessagePipe.ExcuteWriteMessageEvent("调用监控组件异常" + ex.Message.ToString(), Color.Red, true);
                }
                finally
                {
                    Thread.Sleep(TimeSpan.FromMinutes(sleepTime));
                }
            }

            return result;
        }