Dispose() public method

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public Dispose ( ) : void
return void
Beispiel #1
0
        public void TakeScreenshotOffscreen(string url, string filename)
        {
            var offscreenBrowser = new CefSharp.OffScreen.ChromiumWebBrowser();

            offscreenBrowser.BrowserInitialized += (o, args) =>
            {
                offscreenBrowser.Load(url);
                offscreenBrowser.FrameLoadEnd += async(sender1, eventArgs) =>
                {
                    if (eventArgs.Frame.IsMain)
                    {
                        var sizes = await offscreenBrowser.EvaluateScriptAsync(JavascriptQueries.RequestForMaxSize);

                        var widthAndHeight = (List <object>)sizes.Result;

                        var screenshotSize = new System.Drawing.Size((int)widthAndHeight[0], (int)widthAndHeight[1]);
                        offscreenBrowser.Size = screenshotSize;

                        await Task.Delay(500);

                        var bitmap = await offscreenBrowser.ScreenshotAsync(false, PopupBlending.Main);

                        bitmap.Save(filename, ImageFormat.Png);
                        offscreenBrowser.Dispose();
                        Process.Start(new System.Diagnostics.ProcessStartInfo
                        {
                            UseShellExecute = true,
                            FileName        = filename
                        });
                    }
                };
            };
        }
Beispiel #2
-12
 public void LoadPageSkyBet(string Url)
 {
     browser.ConsoleMessage -= BrowserOnConsoleMessage;
     browser.LoadingStateChanged -= BrowserOnLoadingStateChanged;
     browser.BrowserInitialized -= BrowserOnBrowserInitialized;
     browser.Delete();
     browser.Dispose();
     browser = new ChromiumWebBrowser(Url);
     browser.ConsoleMessage += BrowserOnConsoleMessage;
     browser.LoadingStateChanged += BrowserOnLoadingStateChanged;
     browser.BrowserInitialized += BrowserOnBrowserInitialized;
     isLoad = false;
     //  browser.RegisterAsyncJsObject("Alljs", Properties.Resources.jsAllLoadSkybet);
     var alljs = Properties.Resources.jsAllLoadSkybet;
     var countUpdate = 0;
     while (true)
     {
         Thread.Sleep(200);
         countUpdate++;
         Application.DoEvents();
         if (!browser.IsLoading)
         {
             if (browser.IsBrowserInitialized)
             {
                 var sss = browser.EvaluateScriptAsync(alljs).Result;
                 var result = browser.EvaluateScriptAsync("checkLoad()").Result;
                 if ((result.Result != null) && ((bool) result.Result == true))
                 {
                     var ss = browser.EvaluateScriptAsync(alljs).Result;
                     break;
                 }
             }
         }
         if (countUpdate > 30)
         {
             if (browser.IsBrowserInitialized)
                 browser.Delete();
             browser.Dispose();
             browser = Chrome.InitSkyBet(Url);
             browser.ConsoleMessage += BrowserOnConsoleMessage;
             browser.LoadingStateChanged += BrowserOnLoadingStateChanged;
             browser.BrowserInitialized += BrowserOnBrowserInitialized;
             isLoad = false;
             countUpdate = 0;
         }
     }
 }