/// <summary>检查在线</summary> /// <returns></returns> protected virtual NodeOnline CreateOnline(String code, INode node) { var ip = UserHost; var port = HttpContext.Connection.RemotePort; var sid = $"{node.ID}@{ip}:{port}"; var olt = NodeOnline.GetOrAdd(sid); olt.NodeID = node.ID; olt.Name = node.Name; olt.ProvinceID = node.ProvinceID; olt.CityID = node.CityID; olt.Version = node.Version; olt.CompileTime = node.CompileTime; olt.Memory = node.Memory; olt.MACs = node.MACs; //olt.COMs = node.COMs; olt.Token = Token; olt.CreateIP = ip; olt.Creator = Environment.MachineName; Session["Online"] = olt; return(olt); }
/// <summary>检查在线</summary> /// <param name="node"></param> /// <returns></returns> protected virtual NodeOnline CreateOnline(Node node, String token) { var sid = $"{node.ID}@{UserHost}"; var olt = NodeOnline.GetOrAdd(sid); olt.NodeID = node.ID; olt.Name = node.Name; olt.IP = node.IP; olt.Category = node.Category; olt.ProvinceID = node.ProvinceID; olt.CityID = node.CityID; olt.Version = node.Version; olt.CompileTime = node.CompileTime; olt.Memory = node.Memory; olt.MACs = node.MACs; //olt.COMs = node.COMs; olt.Token = token; olt.CreateIP = UserHost; olt.Creator = Environment.MachineName; _cache.Set($"NodeOnline:{sid}", olt, 600); return(olt); }
private void Fill(NodeOnline online, NodeInfo di) { if (di.AvailableMemory > 0) { online.AvailableMemory = (Int32)(di.AvailableMemory / 1024 / 1024); } if (di.AvailableFreeSpace > 0) { online.AvailableFreeSpace = (Int32)(di.AvailableFreeSpace / 1024 / 1024); } }
/// <summary></summary> /// <param name="node"></param> /// <returns></returns> protected virtual NodeOnline GetOnline(Node node) { var sid = $"{node.ID}@{UserHost}"; var olt = _cache.Get <NodeOnline>($"NodeOnline:{sid}"); if (olt != null) { _cache.SetExpire($"NodeOnline:{sid}", TimeSpan.FromSeconds(600)); return(olt); } return(NodeOnline.FindBySessionID(sid)); }
/// <summary></summary> /// <param name="code"></param> /// <param name="node"></param> /// <returns></returns> protected virtual NodeOnline GetOnline(String code, INode node) { var olt = Session["Online"] as NodeOnline; if (olt != null) { return(olt); } var ip = UserHost; var port = HttpContext.Connection.RemotePort; var sid = $"{node.ID}@{ip}:{port}"; return(NodeOnline.FindBySessionID(sid)); }
private void Fill(NodeOnline online, NodeInfo di) { online.LocalTime = di.Time.ToLocalTime(); online.MACs = di.Macs; //online.COMs = di.COMs; if (di.AvailableMemory > 0) { online.AvailableMemory = (Int32)(di.AvailableMemory / 1024 / 1024); } if (di.AvailableFreeSpace > 0) { online.AvailableFreeSpace = (Int32)(di.AvailableFreeSpace / 1024 / 1024); } }
/// <summary>填充在线节点信息</summary> /// <param name="olt"></param> /// <param name="inf"></param> private void Fill(NodeOnline olt, PingInfo inf) { if (inf.AvailableMemory > 0) { olt.AvailableMemory = (Int32)(inf.AvailableMemory / 1024 / 1024); } if (inf.AvailableFreeSpace > 0) { olt.AvailableFreeSpace = (Int32)(inf.AvailableFreeSpace / 1024 / 1024); } if (inf.CpuRate > 0) { olt.CpuRate = inf.CpuRate; } if (inf.Delay > 0) { olt.Delay = inf.Delay; } var dt = inf.Time.ToDateTime().ToLocalTime(); if (dt.Year > 2000) { olt.LocalTime = dt; olt.Offset = (Int32)Math.Round((dt - DateTime.Now).TotalSeconds); } if (!inf.Processes.IsNullOrEmpty()) { olt.Processes = inf.Processes; } if (!inf.Macs.IsNullOrEmpty()) { olt.MACs = inf.Macs; } //if (!inf.COMs.IsNullOrEmpty()) olt.COMs = inf.COMs; }
/// <summary>填充在线节点信息</summary> /// <param name="olt"></param> /// <param name="inf"></param> private void Fill(NodeOnline olt, PingInfo inf) { if (inf.AvailableMemory > 0) { olt.AvailableMemory = (Int32)(inf.AvailableMemory / 1024 / 1024); } if (inf.AvailableFreeSpace > 0) { olt.AvailableFreeSpace = (Int32)(inf.AvailableFreeSpace / 1024 / 1024); } if (inf.CpuRate > 0) { olt.CpuRate = inf.CpuRate; } if (inf.Temperature > 0) { olt.Temperature = inf.Temperature; } if (inf.Uptime > 0) { olt.Uptime = inf.Uptime; } if (inf.Delay > 0) { olt.Delay = inf.Delay; } var dt = inf.Time.ToDateTime().ToLocalTime(); if (dt.Year > 2000) { olt.LocalTime = dt; olt.Offset = (Int32)Math.Round((dt - DateTime.Now).TotalSeconds); } if (!inf.Processes.IsNullOrEmpty()) { olt.Processes = inf.Processes; } if (!inf.Macs.IsNullOrEmpty()) { olt.MACs = inf.Macs; } //if (!inf.COMs.IsNullOrEmpty()) olt.COMs = inf.COMs; // 插入节点数据 var data = new NodeData { NodeID = olt.NodeID, AvailableMemory = olt.AvailableMemory, AvailableFreeSpace = olt.AvailableFreeSpace, CpuRate = inf.CpuRate, Temperature = inf.Temperature, Uptime = inf.Uptime, Delay = inf.Delay, LocalTime = dt, Offset = olt.Offset }; data.SaveAsync(); }