You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB
C#

9 months ago
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<bool>(() => { 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 , "检测网络是否正常工作的任务");
}
}
}
}