Ejemplo n.º 1
0
 public void Refresh()
 {
     UpdateStatusTaskManager.Execute(this, UpdateStatusTaskType.Server, () => {
         var serverData = ListenServerData.GetServerList();
         serverData.Columns.Add(new DataColumn("StatusColor", typeof(string)));
         foreach (DataRow row in serverData.Rows)
         {
             var host            = row ["Host"].ToString();
             var port            = row ["HttpPort"].ToString();
             var serverItem      = new ListenServerItem();
             serverItem.Host     = host;
             serverItem.HttpPort = port;
             var url             = serverItem.HttpUrl;
             var result          = HttpHelper.CheckHttp(url);
             if (result.Item1)
             {
                 row ["Status"]      = "正常";
                 row ["StatusColor"] = Common.DEFAULT_TEXT_COLOR;
             }
             else
             {
                 row ["Status"]      = "异常";
                 row ["StatusColor"] = "Red";
             }
         }
         var dataView = serverData.DefaultView;
         if (serverData.Rows.Count > 0)
         {
             dataView.Sort = "Status desc";
         }
         Dispatcher.Invoke((Action) delegate {
             listView.DataContext = dataView.ToTable();
         });
     });
 }
Ejemplo n.º 2
0
        public ServerManager(ListenServerItem listenServerItem)
        {
            InitializeComponent();

            AuthMessageManager.Clear(listenServerItem.HttpUrl);

            this.listenServerItem = listenServerItem;
            this.Title            = listenServerItem.Name;

            this.dataSource = new DataSource(listenServerItem);
            this.uiMySql    = new UIMySQL(this, dataSource);
            this.uiProcess  = new UIProcess(this, dataSource);
            this.uiHttpUrl  = new UIHttpUrl(this, dataSource);
            this.uiUser     = new UIUser(this, dataSource);
            this.uiOverview = new UIOverview(this, dataSource);
            this.uiHistory  = new UIHistory(this, dataSource);

            ThreadPool.QueueUserWorkItem(delegate {
                if (CheckServerStatus())
                {
                    CheckMailStmpServer();
                }
            });

            this.Closed += (o, e) => {
                UpdateStatusTaskManager.Remove(this, UpdateStatusTaskType.HttpUrl);
                UpdateStatusTaskManager.Remove(this, UpdateStatusTaskType.MySql);
                UpdateStatusTaskManager.Remove(this, UpdateStatusTaskType.Process);
                UpdateStatusTaskManager.Remove(this, UpdateStatusTaskType.Overview);
            };
        }
Ejemplo n.º 3
0
 protected void UpdateStatus(ListView listView, List <entity.EntityBase> data, UpdateStatusTaskType type, GetStatus getStatus)
 {
     UpdateStatusTaskManager.Execute(window, type, () => {
         data = data.Select(item => {
             var status = getStatus();
             var result = status.Where(n => n.ID == item.ID);
             if (result.Count() > 0)
             {
                 var first        = result.First();
                 var desc         = first.StatusDesc;
                 item.Status      = desc;
                 item.StatusColor = first.StatusTextColor;
                 item.Delay       = first.Delay;
             }
             return(item);
         }).ToList();
         window.Dispatcher.Invoke((Action) delegate {
             listView.DataContext = data;
         });
     });
 }
Ejemplo n.º 4
0
 public UIOverview(ServerManager window, DataSource dataSource) : base(window, dataSource)
 {
     UpdateStatusTaskManager.Execute(window, UpdateStatusTaskType.Overview, delegate() {
         this.FillData();
     });
 }