Пример #1
0
        public bool IsConnectionActive()
        {
            websiteStr = null;
            bool error = true;

            lock (websiteSet)
            {
                if (websiteSet.Count > 1)
                {
                    if (FastestWebsite == null || FastestWebsite.Equals(""))
                    {
                        FastestWebsite = WebsiteTester.TestForFastestWebsite(websiteTester.GetWebsiteSet(), ref error, cancelToken);
                        CurrentWebsite = FastestWebsite;
                        cancelToken    = new CancellationTokenSource();
                    }
                    else if (!websiteSet.Contains(CurrentWebsite) || !WebsiteTester.TryWebsite(CurrentWebsite, ref error))
                    {
                        FastestWebsite = null;
                        CurrentWebsite = "";
                        return(false);
                    }
                }
                else if (websiteSet.Count == 1 && WebsiteTester.TryWebsite(websiteSet.First(), ref error))
                {
                    CurrentWebsite = websiteSet.First();
                    FastestWebsite = CurrentWebsite;
                }
            }

            return(!error);
        }
Пример #2
0
 public IPMonitor(WebsiteTester webTester)
 {
     websiteTester = webTester;
     SetWebsites(new HashSet <string>());
     CurrentWebsite = "";
 }