问题描述
我正在实现一个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 (将#修改为@)