private void backgroundMetrics_DoWork(object sender, DoWorkEventArgs e) { //Instance Function from MonitoringFunctions Class var monitoring = new System_Monitoring(); BackgroundWorker worker = (BackgroundWorker)sender; while (!worker.CancellationPending) { //overallServerStatsGrid.Rows.Clear(); Thread.Sleep(500); _dashboardInfo = GetInfo(); worker.ReportProgress(0, "AN OBJECT TO PASS TO THE UI-THREAD"); } }
//===================================================================================// // DASHBOARD: // //===================================================================================// private DashboardInfo GetInfo() { var monitoring = new System_Monitoring(); var rtn = new DashboardInfo(); rtn.TotalRAM = monitoring.RetreiveTotalAvailableRAM(); rtn.RAM = monitoring.RetreiveTotalAvailableRAM() - monitoring.RetreiveFreeRAM(); rtn.DiskUsed = monitoring.RetrieveDISKInfo(@"C:\", false, true, false); rtn.DiskTotal = monitoring.RetrieveDISKInfo(@"C:\", true, false, false); rtn.CPU = monitoring.RetrieveCPUUsage(); rtn.LAN_DOWN = monitoring.RetrieveLANUsage(true, false); rtn.LAN_UP = monitoring.RetrieveLANUsage(false, true); return(rtn); }