Ejemplo n.º 1
0
        private string SendCommandToNode(string DesServer, string CommandName, byte[] ParamData)
        {
            SystemStateItem _el = WatchSystemLib.GetSystem(DesServer);

            if (_el.Connected)
            {
                object[] _plist = new object[3] {
                    "OK", CommandName, ParamData
                };
                try
                {
                    object _ret     = ExecuteWCF.ExecuteMethod <SysWatchService.ISWCommandService>(_el.SystemURL, "DoCommand", _plist);
                    byte[] _byteret = _ret as byte[];
                    string _msg     = Encoding.Unicode.GetString(_byteret);
                    return(_msg);
                }
                catch (Exception ex)
                {
                    string _error = string.Format("从{0}中取当前状态出错!{1}", DesServer, ex.Message);
                    throw new Exception(_error);
                }
            }
            else
            {
                string _error = string.Format("服务器[{0}]暂时尚未连接!", DesServer);
                throw new Exception(_error);
            }
        }
Ejemplo n.º 2
0
        public static string ModifySystem(byte[] ParameterData)
        {
            try
            {
                string _decodeItem = WcfDataCompressControl.UnCompress(ParameterData);
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(SystemStateItem));
                MemoryStream    ms    = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(_decodeItem.ToCharArray()));
                SystemStateItem _item = (SystemStateItem)serializer.ReadObject(ms);
                ms.Close();

                //插入配置
                Configuration              cfa            = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                SystemConfigSection        CurrentSysList = (SystemConfigSection)cfa.GetSection("SystemList");
                SystemConfigurationElement _el            = CurrentSysList.PluginCollection[_item.SystemName];
                _el.Description = _item.SystemDescription;
                _el.URL         = _item.SystemURL;
                cfa.Save();
                //插入缓存
                SystemStateItem _c = WatchSystemLib.GetSystem(_item.SystemName);
                _c.SystemURL         = _item.SystemURL;
                _c.SystemDescription = _item.SystemDescription;
                return("TRUE");
            }
            catch (Exception ex)
            {
                return("False!" + ex.Message);
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                SystemConfigSection CurrentSysList = (SystemConfigSection)ConfigurationManager.GetSection("SystemList");
                foreach (SystemConfigurationElement _el in CurrentSysList.PluginCollection)
                {
                    SystemStateItem _item = new SystemStateItem(_el.Name, _el.URL, _el.Description);
                    WatchSystemLib.AddSystem(_item);
                }

                if (args.Length == 0)
                {
#if DEBUG
                    Application.Run(new frmMain());
#else
                    System.ServiceProcess.ServiceBase[] ServicesToRun;
                    ServicesToRun = new System.ServiceProcess.ServiceBase[] { new SinoMonitorCenterService() };
                    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#endif
                }
                else if (args[0].ToLower() == "/f" || args[0].ToLower() == "-f")
                {
                    Application.Run(new frmMain());
                }
            }
            catch (Exception ex)
            {
                EventLogSystemLog _log = new EventLogSystemLog("SinoMonitorCenterServiceLog");
                _log.WriteLog(ex.Message, EventLogEntryType.Error);
            }
        }
Ejemplo n.º 4
0
        private string DoGetNodeCheckMsg(string DesServer, byte[] ParameterData)
        {
            SystemStateItem _el = WatchSystemLib.GetSystem(DesServer);

            object[] _plist = new object[3] {
                "OK", "GetNodeCheckMsg", null
            };
            try
            {
                object _ret     = ExecuteWCF.ExecuteMethod <SysWatchService.ISWCommandService>(_el.SystemURL, "DoCommand", _plist);
                byte[] _byteret = _ret as byte[];
                string _msg     = Encoding.Unicode.GetString(_byteret);
                return(_msg);
            }
            catch (Exception ex)
            {
                string _error = string.Format("从{0}中取当前状态出错!{1}", DesServer, ex.Message);
                throw new Exception(_error);
            }
        }
Ejemplo n.º 5
0
        public static string DelSystem(byte[] ParameterData)
        {
            try
            {
                string _delName = WcfDataCompressControl.UnCompress(ParameterData);

                //删除配置
                Configuration       cfa            = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                SystemConfigSection CurrentSysList = (SystemConfigSection)cfa.GetSection("SystemList");
                CurrentSysList.PluginCollection.Remove(_delName);
                cfa.Save();

                //删除缓存
                WatchSystemLib.RemoveSystem(_delName);
                return("TRUE");
            }
            catch (Exception ex)
            {
                return("False!" + ex.Message);
            }
        }
Ejemplo n.º 6
0
        public byte[] DoCommand(string CommandName, string DesServer, byte[] ParameterData)
        {
            byte[] _retbytes;
            string _retstr;

            string[] CmdStrs = CommandName.Split('.');
            switch (CmdStrs[0])
            {
            case "GetSystemList":
                _retstr   = WatchSystemLib.GetJsonData();
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "AddWatchNode":
                _retstr   = SystemNodeAccessor.AddSystem(ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "DelWatchNode":
                _retstr   = SystemNodeAccessor.DelSystem(ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "ModifyWatchNode":
                _retstr   = SystemNodeAccessor.ModifySystem(ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "GetNodeCheckMsg":
                _retstr   = DoGetNodeCheckMsg(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "GetNodePluginVersion":
                _retstr   = DoGetNodePluginVersion(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "RemoveAppPlugin":
                _retstr   = DoRemoveAppPlugin(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "UpLoadFilePlugin":
                _retstr   = DoUpLoadFilePlugin(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "LoadAppPlugin":
                _retstr   = DoLoadAppPlugin(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "GetAppPluginList":
                _retstr   = DoGetAppPluginList(DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "ExcuteNodeCommand":
                _retstr   = DoExcuteNodeCommand(CommandName, DesServer, ParameterData);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;

            case "ExcuteNodeCommandWithByte":
                _retbytes = DoExcuteNodeCommandWithByte(CommandName, DesServer, ParameterData);
                break;

            default:
                _retstr   = string.Format("命令[{0}]无法识别!", CommandName);
                _retbytes = WcfDataCompressControl.Compress(_retstr);
                break;
            }
            return(_retbytes);
        }