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();
 }