void OnTimerElapsed(object sender, ElapsedEventArgs e) { Timer.Stop(); using (var db = new SiteMonitRContext()) { var sites = db.MonitoredSites; foreach (var site in sites) { var result = new SiteStatusResult { SiteId = site.Id, Url = site.Url, Status = "Checking" }; Clients.All.receiveSiteStatus(result); try { new WebClient().DownloadString(site.Url); result.Status = SiteStatus.Up.ToString(); } catch { result.Status = SiteStatus.Down.ToString(); } Clients.All.receiveSiteStatus(result); } } Timer.Start(); }
public SiteCheckerController() { _db = new SiteMonitRContext(); }