/// <summary> /// Gets the Xml tree for the custom serialiser /// </summary> /// <returns>An XElement </returns> public XElement GetXmlTree() { var namer = new RandomAccountName(); XElement element = null; if (RoleName != null) { element = new XElement(Namespaces.NsWindowsAzure + "Role", new XElement(Namespaces.NsWindowsAzure + "RoleName", RoleName), new XElement(Namespaces.NsWindowsAzure + "RoleType", RoleType)); } else { element = new XElement(Namespaces.NsWindowsAzure + "PersistentVMRole"); } XElement configurationSets = new XElement(Namespaces.NsWindowsAzure + "ConfigurationSets", NetworkConfigurationSet.GetXmlTree()); if (OperatingSystemConfigurationSet != null) { configurationSets.Add(OperatingSystemConfigurationSet.GetXmlTree()); } element.Add(configurationSets); if (HardDisks != null) { element.Add(HardDisks.GetXmlTree()); } if (RoleName != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "Label", Convert.ToBase64String(Encoding.UTF8.GetBytes(RoleName)))); } if (OSHardDisk != null) { element.Add(OSHardDisk.GetXmlTree()); } // TODO: Another hack the enum value is always present here so assume if we have no OS hard disk then we don't need a role size if (OSHardDisk != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "RoleSize", RoleSize.ToString())); } if (AvailabilityNameSet != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "AvailabilitySetName", AvailabilityNameSet)); } return(element); }
public void RealTimeHardDisk() { Task.Run(() => { try { while (true) { foreach (var item in objDriveInfo) { string diskName = item.Name; var hardDisk = HardDisks.Find(p => p.DiskName == diskName); if (hardDisk != null) { hardDisk.Available = AnyHelper.BytesToString(item.AvailableFreeSpace); if (item.AvailableFreeSpace < this.DiskLimitSize) { hardDisk.Tip = "磁盘空间不足"; AnyHelper.Alarm(); App.Current.Dispatcher.BeginInvoke((Action) delegate() { this.ShowNotification("警告", "请注意,磁盘控件不足,请及时清理"); }); } else { hardDisk.Tip = "正常"; } hardDisk.UsedRate = hardDisk.UsedRate = 100 - (int)(item.AvailableFreeSpace / (item.TotalSize * 1.00) * 100); } Thread.Sleep(2000); } } } catch (Exception ex) { LogHelper.WriteLog(ex.Message); } }); }
/// <summary> /// Gets the Xml tree for the custom serialiser /// </summary> /// <returns>An XElement </returns> public XElement GetXmlTree() { var namer = new RandomAccountName(); var element = new XElement(Namespaces.NsWindowsAzure + "Role", new XElement(Namespaces.NsWindowsAzure + "RoleName", RoleName), new XElement(Namespaces.NsWindowsAzure + "RoleType", RoleType)); var configurationSets = new XElement(Namespaces.NsWindowsAzure + "ConfigurationSets", OperatingSystemConfigurationSet.GetXmlTree(), NetworkConfigurationSet.GetXmlTree()); element.Add(configurationSets); element.Add(HardDisks.GetXmlTree()); element.Add(new XElement(Namespaces.NsWindowsAzure + "Label", Convert.ToBase64String(Encoding.UTF8.GetBytes(RoleName)))); element.Add(OSHardDisk.GetXmlTree()); element.Add(new XElement(Namespaces.NsWindowsAzure + "RoleSize", RoleSize.ToString())); if (AvailabilityNameSet != null) { element.Add(AvailabilityNameSet); } return(element); }
private void InitDrivers() { try { objDriveInfo = DriveInfo.GetDrives(); foreach (var item in objDriveInfo) { var hardDisk = new HardDisk(); hardDisk.DiskName = item.Name; hardDisk.Available = AnyHelper.BytesToString(item.AvailableFreeSpace); hardDisk.Total = AnyHelper.BytesToString(item.TotalSize); hardDisk.UsedRate = 100 - (int)(item.AvailableFreeSpace / (item.TotalSize * 1.00) * 100); hardDisk.Tip = "正常"; HardDisks.Add(hardDisk); } } catch (Exception ex) { LogHelper.WriteLog(ex.Message); } }