コード例 #1
0
            //****************************************

            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();
            }
コード例 #2
0
        /// <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());
                //}
            }
        }