Exemplo n.º 1
0
        private void Disk_mission()
        {
            string        serverName = ConfigurationManager.AppSettings["ServerName"];
            List <string> diskAbnormalList;

            try
            {
                while (true)
                {
                    if (_isLoadingDisk)
                    {
                        diskAbnormalList = new List <string>();

                        ShowTime(UpdateClock_Disk);
                        _diskSource = _details.Disk_Info(_diskSource);
                        ResultShowDiskList(_diskSource);

                        foreach (var item in _diskSource)
                        {
                            if (item.StatusColor.Equals(Color.Red))
                            {
                                diskAbnormalList.Add(item.Name);
                            }
                        }

                        if (diskAbnormalList.Count > 0 && !_isDiskSendSms)
                        {
                            foreach (string item in diskAbnormalList)
                            {
                                _sms.Send(_contactlList, "請注意! " + serverName + "" + "系統磁碟機" + item + " 空間已接近上限!");
                            }
                            _isDiskSendSms = true;
                        }

                        else if (diskAbnormalList.Count == 0 && _isDiskSendSms)
                        {
                            _sms.Send(_contactlList, serverName + "" + "系統磁碟機空間皆已釋放,系統已恢復正常!");
                            _isDiskSendSms = false;
                        }
                    }

                    Thread.Sleep(_optionsAttribute.DiskTheadSleep * 1000);
                }
            }
            catch (Exception e)
            {
                _lg.Start("Thread Disk_mission:" + e.Message.ToString());
            }
        }