コード例 #1
0
        private byte[] ConnectService()
        {
            string _ret = string.Format("Success!{0}", WatchNodeCache.Output());

            byte[] _data = Encoding.Unicode.GetBytes(_ret);
            return(_data);
        }
コード例 #2
0
        public static void ComputeState()
        {
            WatchNodeCache.Init();
            foreach (TaskListItem _item in Tasks.Values)
            {
                if (_item.TaskRunResult != null)
                {
                    switch (_item.TaskCheckType)
                    {
                    case "SYSTEM":
                        WatchNodeCache.CurrentState.SystemState = Math.Max(WatchNodeCache.CurrentState.SystemState, _item.TaskRunResult.StateFlag);
                        break;

                    case "DATABASE":
                        WatchNodeCache.CurrentState.DatabaseState = Math.Max(WatchNodeCache.CurrentState.DatabaseState, _item.TaskRunResult.StateFlag);
                        break;

                    case "APPLICATION":
                        WatchNodeCache.CurrentState.ApplicationState = Math.Max(WatchNodeCache.CurrentState.ApplicationState, _item.TaskRunResult.StateFlag);
                        break;

                    case "INTERFACE接口":
                        WatchNodeCache.CurrentState.InterfaceState = Math.Max(WatchNodeCache.CurrentState.InterfaceState, _item.TaskRunResult.StateFlag);
                        break;

                    case "TASK":
                        WatchNodeCache.CurrentState.TaskState = Math.Max(WatchNodeCache.CurrentState.TaskState, _item.TaskRunResult.StateFlag);
                        break;
                    }
                }
            }
        }
コード例 #3
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //清理主状态缓冲区
            WatchNodeCache.Init();
            try
            {
                //启动WCF服务
                ServiceHost WcfHost = new ServiceHost(typeof(SWCommandService));
                WcfHost.Open();

                if (args.Length == 0)
                {
#if DEBUG
                    Application.Run(new frmServiceMain());
#else
                    System.ServiceProcess.ServiceBase[] ServicesToRun;
                    ServicesToRun = new System.ServiceProcess.ServiceBase[] { new SysWatchService() };
                    System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#endif
                }
                else if (args[0].ToLower() == "/f" || args[0].ToLower() == "-f")
                {
                    Application.Run(new frmServiceMain());
                }
            }
            catch (Exception ex)
            {
                EventLogSystemLog _log = new EventLogSystemLog("SinoSysWatchServiceLog");
                _log.WriteLog(ex.Message, EventLogEntryType.Error);
            }
        }
コード例 #4
0
        private byte[] GetCurrentState()
        {
            TaskList.ComputeState();
            string _ret = WatchNodeCache.Output();

            byte[] _data = Encoding.Unicode.GetBytes(_ret);
            return(_data);
        }
コード例 #5
0
ファイル: ServerCommon.cs プロジェクト: aehyok/Monitor
        public void Init(IServerApplication app, bool isWinSvc)
        {
            // 发出开始启动服务提示音
            application = app;
            IsWinSvc    = isWinSvc;
            application.WriteMessage("服务开始启动!", EventLogEntryType.Information);
            SessionClass.CurrentSinoUser                    = new SinoUser();
            SessionClass.CurrentSinoUser.CurrentPost        = new SinoPost();
            SessionClass.CurrentSinoUser.CurrentPost.PostID = "0";
            WatchNodeCache.Init();


            // 启动任务服务
            application.WriteMessage("初始化任务服务!", EventLogEntryType.Information);
            InitTask();
            application.WriteMessage("任务服务初始化完成!", EventLogEntryType.Information);
        }