using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FluentScheduler; using NetWorkSpeedMonitor; using POSV.Common.Util; using POSV.MessageEvent; using POSV.Utils; namespace POSV.Job { public class NetworkJob : IJob { private NetworkAdapter[] adapters; private NetworkMonitor monitor; public NetworkJob() { monitor = new NetworkMonitor(); this.adapters = monitor.Adapters; } void IJob.Execute() { try { for (int i = 0; i < this.adapters.Length; i++) { NLog.LogManager.GetCurrentClassLogger().Info(this.adapters[i].name); } var openApiTask = Task.Factory.StartNew(() => { return HttpClientUtils.IsAvailable(); }); Task.WaitAll(openApiTask); //网络可用:a)网卡工作;b)可以联网;c)开放平台正常 bool isConnected = openApiTask.Result; Global.Instance.IsWiFi = WiFiApi.Connected(); //网络连接压入全局参数 Global.Instance.Online = isConnected; //检测消息中心是否正常 Global.Instance.MessageCenterOnline = MessageCenterUtils.Instance.IsAvailable(); //通知订购网络连接的事件 MsgEvent.Send(Constant.NETWORK_EVENT_NOTIFY , Global.Instance.Online); } catch (Exception ex) { NLog.LogManager.GetCurrentClassLogger().Error(ex , "检测网络是否正常工作的任务"); } } } }