public async void WorkingCycle() { if (configuration == null) { return; } var optionsBuilder = new DbContextOptionsBuilder <SitesMonitoringContext>(); optionsBuilder.UseSqlServer(configuration.GetConnectionString("SitesMonitoringContext")); using (var context = new SitesMonitoringContext(optionsBuilder.Options)) { foreach (Site item in context.Site.ToList <Site>()) { try { Uri uri = GetUri(item.URL); HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(uri); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); item.Status = 1; item.LastCheckedTime = DateTime.Now; } catch { item.Status = 0; item.LastCheckedTime = DateTime.Now; } context.Update(item); await context.SaveChangesAsync(); } } }
//сколько ждать private void Standby() { if (configuration == null) { return; } var optionsBuilder = new DbContextOptionsBuilder <SitesMonitoringContext>(); optionsBuilder.UseSqlServer(configuration.GetConnectionString("SitesMonitoringContext")); using (var context = new SitesMonitoringContext(optionsBuilder.Options)) { SitesController sc = new SitesController(context); int sec = sc.GetWaitTime(); _stopingThreadEvent.WaitOne(new TimeSpan(0, 0, sec)); } }
public SitesController(SitesMonitoringContext context) { _context = context; }