【发布时间】:2017-03-06 07:03:21
【问题描述】:
我在我的 winform 应用程序中使用 Awesomium 作为 Web 浏览器控件。
在按钮的单击事件中,我想关闭并重新初始化 WebCore。
我该如何做这份工作?
我写了这些代码,但出现以下错误:
代码:
webBrowser_main.Dispose(); <------> I want to remove this previous awesomium control & recreate it again with same ID
WebCore.Shutdown();
await dl(5000, 7000);
WebConfig config = new WebConfig() { UserAgent = "blablabla", LogLevel = LogLevel.None };
WebCore.Initialize(config); <------> I HAVE ERROR HERE
WebCore.Initialized += WebCoreInitialzed;
WebCore.Download += WebCoreDownload;
WebControl browser = new WebControl();
browser.Name = "webBrowser_main";
browser.BackColor = System.Drawing.Color.GreenYellow;
browser.Location = new System.Drawing.Point(12, 29);
browser.Size = new System.Drawing.Size(960, 565);
browser.TabIndex = 52;
browser.ViewType = Awesomium.Core.WebViewType.Offscreen;
browser.ShowJavascriptDialog += new Awesomium.Core.JavascriptDialogEventHandler(webBrowser_main_ShowJavascriptDialog);
browser.TargetURLChanged += new Awesomium.Core.UrlEventHandler(webBrowser_main_TargetURLChanged);
browser.ShowCreatedWebView += new Awesomium.Core.ShowCreatedWebViewEventHandler(webBrowser_main_ShowCreatedWebView);
browser.DocumentReady += new Awesomium.Core.DocumentReadyEventHandler(webBrowser_main_DocumentReady);
browser.LoadingFrame += new Awesomium.Core.LoadingFrameEventHandler(webBrowser_main_LoadingFrame);
browser.LoadingFrameComplete += new Awesomium.Core.FrameEventHandler(webBrowser_main_LoadingFrameComplete);
browser.MouseMove += new System.Windows.Forms.MouseEventHandler(webBrowser_main_MouseMove);
browser.Source = new System.Uri("https://www.google.com", System.UriKind.Absolute);
browser.TabIndex = 0;
this.Controls.Add(browser);
这是错误:
“System.InvalidOperationException”类型的异常发生在 Awesomium.Core.dll 但未在用户代码中处理
附加信息:您正在尝试重新初始化 网络核心。 WebCore 每个进程只能初始化一次,并且 只有在进程退出时才必须关闭。
【问题讨论】:
-
错误信息似乎很清楚
标签: c# winforms webbrowser-control awesomium .net-4.6.1