Beispiel #1
0
 void LoadupCache()
 {
     lock (BrowserStorage)
     {
         for (int i = BrowserStorage.Children.Count; i < cachesize; i++)
         {
             MCSWebBrowser browser = new MCSWebBrowser();
             BrowserStorage.Children.Add(browser);
             browser.BrowserObjectAppeared += browser_BrowserObjectAppeared;
             browser.Navigate("about:blank");    // trigger the load of the browser instance
         }
     }
 }
Beispiel #2
0
        private void WaitForBrowsersToInitialize()
        {
            int cacheCount, childrenCount;

            lock (cache)
                cacheCount = cache.Count;
            lock (BrowserStorage)
                childrenCount = BrowserStorage.Children.Count;
            DateTime dtTimeout = DateTime.Now + TimeSpan.FromSeconds(5);

            while (cacheCount == 0 && childrenCount > 0)
            {
                if (DateTime.Now > dtTimeout)
                {
                    lock (BrowserStorage)
                    {
                        for (int i = 0; i < BrowserStorage.Children.Count; i++)
                        {
                            MCSWebBrowser b = BrowserStorage.Children[i] as MCSWebBrowser;
                            if (b != null)
                            {
                                b.Navigate("about:blank"); // try again to get this going
                            }
                        }
                        dtTimeout = DateTime.Now + TimeSpan.FromSeconds(5);
                    }
                }

                // browsers initializing
                System.Windows.Forms.Application.DoEvents();
                lock (cache)
                    cacheCount = cache.Count;
                lock (BrowserStorage)
                    childrenCount = BrowserStorage.Children.Count;
            }
        }