//**************************************** public BoundItem(WinListView parent, object itemValue) : base() { _Parent = parent; _ItemValue = itemValue; _Monitor = new WinMonitor(""); _Monitor.Target = _ItemValue; _Monitor.ValueChanged += OnValueChanged; for (int Index = 1; Index < _Parent._Columns.Count; Index++) { SubItems.Add(new ListViewSubItem()); } RefreshContents(); }
/// <summary> /// 分发任务 /// </summary> private void DispatchTask() { //仆人监控开始 SlaveGuarder.StartRun(); // 一般监控 #region 务和exe监控 var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "nurse.config"); if (File.Exists(path) == false) { log.Info("程序未能找到配置文件: " + path); } else { ConfigCollection cc = null; try { cc = XmlHelper.Xml2Entity(path, new ConfigCollection().GetType()) as ConfigCollection; } catch (Exception ex) { log.Error("解析配置文件出错: " + ex.ToString()); return; } //执行监控逻辑 foreach (ConfigNode node in cc.Configs) { //服务时 if (node.AppType == (int)Enums.EnumAppType.务) { log.Info(string.Format("开启服务监控: ID[{0}] 名称[{1}]", node.ID, node.AppName)); new CommonGuarder(node).Run(); } else if (node.AppType == (int)Enums.EnumAppType.可执行程序) { log.Info(string.Format("开启运行程序监控: ID[{0}] 名称[{1}] 程序路径[{2}]", node.ID, node.AppName, node.AppPath)); new CommonGuarder(node).Run(); } else { log.Error(string.Format("错误的配置节点: ID[{0}] 名称[{1}]", node.ID, node.AppName)); } } } #endregion //监控msmq var mqConfig = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "mq.config"); //存在监控配置,就进行监控,否则不进行监控 if (File.Exists(mqConfig) == false) { log.Info("程序未能找到配置文件: " + mqConfig + " ,不进行监控"); } else { WinMonitor.Run(); //MSMQConfig msmqConfig = null; //try //{ // msmqConfig = XmlHelper.Xml2Entity(mqConfig, new MSMQConfig().GetType()) as MSMQConfig; // log.Info("程序开始mq监控: " + mqConfig); // MSMQMonitor.StartRun(msmqConfig); //} //catch (Exception ex) //{ // log.Error("加载msmq过程中出错误:" + ex.ToString()); //} } }