/// <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); }
/// <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; }