Exemple #1
0
        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();
                }
            }
        }
Exemple #2
0
        //сколько ждать
        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;
 }