C# Awesomium Web浏览器-如何使用WebCore.Shutdown&;重新初始化

C# Awesomium Web浏览器-如何使用WebCore.Shutdown&;重新初始化,c#,winforms,webbrowser-control,awesomium,.net-4.6.1,C#,Winforms,Webbrowser Control,Awesomium,.net 4.6.1,我正在winform应用程序中用作web浏览器控件。 在按钮的单击事件中,我要关闭并重新初始化。 我怎么做这项工作? 我写了这些代码,但我得到的错误如下: 代码: webBrowser_main.Dispose(); <------> I want to remove this previous awesomium control & recreate it again with same ID WebCore.Shutdown(); await dl(5000, 7000

我正在winform应用程序中用作web浏览器控件。
在按钮的单击事件中,我要关闭并重新初始化。
我怎么做这项工作?
我写了这些代码,但我得到的错误如下:

代码:

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);
webBrowser_main.Dispose();我想删除以前的awesomium控件并用相同的ID重新创建它
WebCore.Shutdown();
等待dl(50007000);
WebConfig config=newwebconfig(){UserAgent=“blablabla”,LogLevel=LogLevel.None};
初始化(配置);我这里有个错误
WebCore.Initialized+=WebCore初始化;
WebCore.Download+=WebCore下载;
WebControl browser=新建WebControl();
browser.Name=“webBrowser\u main”;
browser.BackColor=System.Drawing.Color.GreenYellow;
browser.Location=新系统.Drawing.Point(12,29);
browser.Size=新系统.Drawing.Size(960565);
browser.TabIndex=52;
browser.ViewType=Awesomium.Core.WebViewType.Offscreen;
browser.ShowJavascriptDialog+=新的Awesomium.Core.JavascriptDialogEventHandler(webBrowser_main_ShowJavascriptDialog);
browser.TargetURLChanged+=新的Awesomium.Core.UrlEventHandler(webBrowser_main_TargetURLChanged);
browser.ShowCreatedWebView+=新的Awesomium.Core.ShowCreatedWebViewEventHandler(webBrowser\u main\u ShowCreatedWebView);
browser.DocumentReady+=新的Awesomium.Core.DocumentReadyEventHandler(webBrowser\u main\u DocumentReady);
browser.LoadingFrame+=新的Awesomium.Core.LoadingFrameEventHandler(webBrowser\u main\u LoadingFrame);
browser.LoadingFrameComplete+=新的Awesomium.Core.FrameEventHandler(webBrowser\u main\u LoadingFrameComplete);
browser.MouseMove+=new System.Windows.Forms.MouseEventHandler(webBrowser\u main\u MouseMove);
browser.Source=new System.Uri(“https://www.google.com“,System.UriKind.Absolute);
browser.TabIndex=0;
this.Controls.Add(浏览器);
下面是错误:

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。每个进程只能初始化WebCore一次,并且 必须仅在进程退出时关闭


目前Chromium不支持在调用Shutdown()方法后进行“重新初始化”。因此,基于它的库(Awesomium、CEF等)也不支持这种功能


根据您需要此功能的原因,您可以尝试其他功能(例如清除缓存、cookies)。

错误消息似乎非常清楚哪个库优于Awesomium?这取决于您的需要。Awesomium非常棒,但它不是免费的商业开发。有时,使用标准WebBrowser组件更容易。