Пример #1
0
        /// <summary>
        /// implement any cleanup here
        /// </summary>
        public void Dispose()
        {
            httpResponseHandler          = null;
            CustomUpStreamHttpProxyUsed  = null;
            CustomUpStreamHttpsProxyUsed = null;

            WebSession.Dispose();
        }
Пример #2
0
 public void Dispose()
 {
     try {
         _Session?.Dispose();
     }
     catch {
     }
     WebCore.Shutdown();
 }
        public void Dispose()
        {
            if (_Session != null)
            {
                _Session.Dispose();
            }

            WebCore.Shutdown();
        }
Пример #4
0
        public void Shutdown()
        {
            if (mLogger != null)
            {
                mLogger.Info("Shutting down WebCore.");
            }

            WebCore.Shutdown();

            WebSession.Dispose();
        }
Пример #5
0
        /// <summary>
        /// Завершение класса рабоыт с браузером
        /// </summary>
        public void Dispose()
        {
            try
            {
                //Есби UI существует - закрываем его
                if (wv != null)
                {
                    wv.Stop();
                    wv.Dispose();
                }

                //Закрываем переменную сессии
                if (ss != null)
                {
                    ss.Dispose();
                }
                //Закрываем ядро броузера
                WebCore.Shutdown();
            }
            catch { }
        }
Пример #6
0
 public void Free()
 {
     if (IsFree)
     {
         return;
     }
     IsFree     = true;
     WriteToLog = delegate { };
     Invoker(() =>
     {
         if (BrowsersTabItem != null)
         {
             WindowedBrowsersPresenter.RemoveTabItem(BrowsersTabItem);
         }
         BrowsersTabItem           = null;
         WindowedBrowsersPresenter = null;
         WebView?.Dispose();
         WebView = null;
         WebViewHost?.Dispose();
         WebViewHost = null;
         //Приостанавливает текущий поток до того как все WebView, использующие сессию завершатся, с таймаутом в 10 сек.
         SynchronizationHelper.WaitFor(() =>
         {
             bool stillWait = true;
             Invoker(() => { stillWait = WebSession.HasViews; });
             return(stillWait);
         }, 15000);
         if (!WebSession.HasViews)
         {
             WebSession.Dispose();
         }
         WebSession = null;
         WebCore.ReleaseMemory();
     });
     //Invoker = null;
     GC.Collect();
 }
Пример #7
0
        /// <summary>
        /// Disposes all screens and removes event listeners for input events.
        /// </summary>
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                foreach (var screen in _screens)
                {
                    screen.Dispose();
                }
                _screens.Clear();

                foreach (var keyboard in _inputManager.Keyboards)
                {
                    keyboard.KeyPressed       -= HandleKeyPressed;
                    keyboard.CharacterEntered -= HandleCharacterEntered;
                    keyboard.KeyReleased      -= HandleKeyReleased;
                }

                foreach (var mouse in _inputManager.Mice)
                {
                    mouse.MouseButtonPressed  -= HandleMouseButtonPressed;
                    mouse.MouseButtonReleased -= HandleMouseButtonReleased;
                    mouse.MouseMoved          -= HandleMouseMoved;
                    mouse.MouseWheelRotated   -= HandleMouseWheelRotated;
                }

                _session.Dispose();

                _dataSource.Dispose();

                if (_ownsWebCore)
                {
                    WebCore.Shutdown();
                }
            }

            base.Dispose(disposing);
        }
Пример #8
0
 public void DisposeSession()
 {
     _session.Dispose();
 }