/// <summary> /// 获取子网状态 /// </summary> /// <returns></returns> public ActionResult GetSubnetStatus() { var result = new JsonResult(); try { var nodeStatus = MemoryCacheHelper.GetCacheItem<List<TopoNodeStatus>>("subnet_status", () => { IEnumerable<Subnet> nets = null; using (var ctx = new GlsunViewEntities()) { nets = ctx.Subnet.ToList(); } List<TopoNodeStatus> status = new List<TopoNodeStatus>(); foreach (var n in nets) { status.Add(DeviceStatusGetter.GetSubnetStatus(n)); } return status; }, null, DateTime.Now.AddSeconds(10)); result.Data = new { Code = "", Data = nodeStatus }; } catch (Exception ex) { result.Data = new { Code = "Exception", Data = ex.Message }; } return result; }
public ActionResult GetSubnetDeviceStatus(int sId) { var result = new JsonResult(); try { string key = string.Format("subnet_device_status_{0}", sId); var nodeStatus = MemoryCacheHelper.GetCacheItem<List<TopoNodeStatus>>(key, () => { IEnumerable<Device> devices = null; using (var ctx = new GlsunViewEntities()) { devices = ctx.Device.Where(d => d.SID == sId).ToList(); } List<TopoNodeStatus> status = new List<TopoNodeStatus>(); foreach (var d in devices) { status.Add(DeviceStatusGetter.GetDeviceStatus(d)); } return status; }, null, DateTime.Now.AddSeconds(5)); result.Data = new { Code = "", Data = nodeStatus }; } catch (Exception ex) { result.Data = new { Code = "Exception", Data = ex.Message }; } return result; }