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.
|
|
|
|
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 , "检测网络是否正常工作的任务");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|