Beispiel #1
0
        private async Task <SiteStatusResult> CheckSite(MonitoredSite site)
        {
            var status = new SiteStatusResult {
                SiteId = site.Id, Url = site.Url
            };

            var client = new WebClient();

            var response = await client.DownloadStringTaskAsync(site.Url).ContinueWith(async(t) =>
            {
                status.Status = t.IsFaulted
                    ? SiteStatus.Down.ToString()
                    : SiteStatus.Up.ToString();

                // put the URL onto the queue if the site is online
                if (!t.IsFaulted)
                {
                    var account = CloudStorageAccount.DevelopmentStorageAccount;
                    var queue   = account.CreateCloudQueueClient().GetQueueReference("incoming");
                    queue.CreateIfNotExists();
                    queue.AddMessage(new CloudQueueMessage(status.Url));
                }
            });

            return(status);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            MonitoredSite monitoredsite = db.MonitoredSites.Find(id);

            db.MonitoredSites.Remove(monitoredsite);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //
        // GET: /Sites/Delete/5

        public ActionResult Delete(int id = 0)
        {
            MonitoredSite monitoredsite = db.MonitoredSites.Find(id);

            if (monitoredsite == null)
            {
                return(HttpNotFound());
            }
            return(View(monitoredsite));
        }
 public ActionResult Edit(MonitoredSite monitoredsite)
 {
     if (ModelState.IsValid)
     {
         db.Entry(monitoredsite).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(monitoredsite));
 }
        public ActionResult Create(MonitoredSite monitoredsite)
        {
            if (ModelState.IsValid)
            {
                db.MonitoredSites.Add(monitoredsite);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(monitoredsite));
        }
Beispiel #6
0
        private async Task <SiteStatusResult> CheckSite(MonitoredSite site)
        {
            var status = new SiteStatusResult {
                SiteId = site.Id, Url = site.Url
            };

            var client = new WebClient();

            var response = await client.DownloadStringTaskAsync(site.Url).ContinueWith(async(t) =>
            {
                status.Status = t.IsFaulted
                    ? SiteStatus.Down.ToString()
                    : SiteStatus.Up.ToString();
            });

            return(status);
        }
Beispiel #7
0
        private async Task <SiteStatusResult> CheckSite(MonitoredSite site)
        {
            var status = new SiteStatusResult {
                SiteId = site.Id, Url = site.Url
            };

            var client = new WebClient();

            var response = await client.DownloadStringTaskAsync(site.Url).ContinueWith(async(t) =>
            {
                status.Status = t.IsFaulted
                    ? SiteStatus.Down.ToString()
                    : SiteStatus.Up.ToString();

                // put the URL onto the queue if the site is online
                //if (!t.IsFaulted)
                //{
                //    var account = CloudStorageAccount.DevelopmentStorageAccount;
                //    var queue = account.CreateCloudQueueClient().GetQueueReference("incoming");
                //    queue.CreateIfNotExists();
                //    queue.AddMessage(new CloudQueueMessage(status.Url));
                //}

                // send the results to the service bus
                var connectionString =
                    ConfigurationManager
                    .AppSettings["serviceBusConnectionString"];

                ServiceBusHelper.ServiceBus
                .Setup(connectionString, "sitemonitr")
                .Publish <SitePingResult>(new SitePingResult
                {
                    Id        = site.Id,
                    Url       = site.Url,
                    Status    = status.Status,
                    TimeStamp = DateTime.Now
                });
            });

            return(status);
        }