EvaluateScriptAsync将浏览器挂在CLR CefSharp应用程序中

问题描述

我正在实现一个MFC MDI视图类,其中将Cefsharp Winforms用作CLR类。我面临着在Cefsharp中使用EvaluateScriptAsync的问题。我想使用EvaluateScriptAsync运行javascript代码,然后将结果返回到本机视图类(CWinFormsView)。 ExecuteScriptAsync运行良好。 每当创建应用程序类时,我的View应用程序也会加载COM组件。 问题是,当我在EvaluateScriptAsync中使用wait时,浏览器冻结,它从不返回,并显示一个消息框,其中显示“服务器可能正忙”,并带有按钮“切换到”,“重试”和“取消”。

以下是我对Browserctrl CLR类的实现:

System::String^ CEFBrowser::CLR_UserControl::Eval(String^ sScript)
{
    auto task_js = CefSharp::WebBrowserExtensions::EvaluateScriptAsync(m_Browser,sScript);
    task_js->Wait();
    if(task_js->IsCompleted)
    {
        return task_js->Result->ToString();
    }
}

The task_js->Wait() never returns.

PS-我正在使用CefSharp.WinForms.84.4.10和cef.redist.x86.84.4.1 nuget软件包。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...