首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用WPF/C#嵌入铬而不是IE WebBrowser控件的选项

使用WPF/C#嵌入铬而不是IE WebBrowser控件的选项
EN

Stack Overflow用户
提问于 2013-08-08 14:17:13
回答 8查看 142.3K关注 0票数 166

更新了2020年的,我在linked my article中比较了在基本Windows桌面应用程序中托管HTML的不同方法的内存占用:

基于Internet Explorer的WPF WebBrowser控件存在一些keyboard and focus issuesmemory leak issues问题。作为这些问题的替代解决方案,我们正在考虑在基于HTML编辑的WPF/C#项目中托管Chromium而不是WebBrowser控件的可用选项。类似的问题以前也曾在asked上出现过。我已经阅读了答案并做了自己的研究,但我希望从那些在production-quality projects中实际使用过以下任一选项的人那里获得更多反馈

AwesomiumAwesomium.NET

它看起来非常合适,但我不喜欢这个项目不是开源的,而且完整的源代码也不容易获得。而且,这对我们的项目来说可能是一种过度的杀伤力,因为屏幕外渲染并不是我们真正依赖的。

Chromium Embedded Framework (CEF).NET bindings for CEF

这可能是目前可用的最佳选择。该项目似乎很活跃,目前正在与Chrome v27同步。CEF3使用Chrome多进程架构。看起来奥多比也给它提供了some endorsement

Google's Chrome Frame

虽然它最初的目的是作为IE和火狐的HTML5插件,但实际上它也可以作为独立的ActiveX控件使用,所以我可以将它包装为与WPF一起使用。它公开了一个与内部网页(onmessage, addEventListener/removeEventListener, postMessage)交互的sufficient API。我知道谷歌是discontinue Chrome Frame,但我认为源代码将保留在Chromium库中。使用最新的Chromium代码更新它应该不难,我们将完全控制这一点。

WebKit .NET wrapper

不完全是基于铬的,也不使用V8引擎,所以它不是一个真正的选择。

有没有其他我可能忽略的选择?

如果有人将她/他的经验分享给现实生活中的生产质量的WPF项目,我将非常感激。您是否有任何集成、许可或部署方面的影响?谢谢你,

编辑我也要感谢artlung提供了一个慷慨的提议,给了这个问题一个提振。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-08-22 20:25:53

您已经列出了最值得注意的嵌入Chromium的解决方案(CEF、Chrome Frame、Awesomium)。没有更多的项目是重要的。

仍然有Berkelium项目(见Berkelium SharpBerkelium Managed),但它埋藏了一个旧版本的铬。

CEF是你最好的选择--它是完全开源的,并且经常更新。这是唯一允许你嵌入最新版本的Chromium的选项。现在Per Lundberg正在积极地将CEF3移植到CefSharp上,这是未来的最佳选择。也有Xilium.CefGlue,但它为CEF提供了一个低级的API,它绑定到CEF的C API。另一方面,CefSharp绑定到CEF的C++。

Adobe并不是唯一使用CEF的主要玩家,请参阅其他在CEF wikipedia page上使用CEF的著名应用程序。

因为项目已经retired了,所以更新Chrome Frame是没有意义的。

票数 130
EN

Stack Overflow用户

发布于 2013-08-19 16:37:42

前段时间我们遇到了完全相同的挑战。我们希望使用基于WPF并支持.NET 3.5的CEF3开源库。

首先,CEF的作者自己列出了不同语言here的绑定。

其次,我们继续开发了名为Xilium.CefGlue的开源.NET CEF3绑定,并取得了良好的成功。在某些情况下,有些东西不能像您期望的那样工作,作者通常对内置bitbucket tracker中打开的问题非常敏感

到目前为止,它为我们提供了很好的服务。作者更新了他的库,以支持最新的CEF3版本并定期修复错误。

票数 10
EN

Stack Overflow用户

发布于 2014-01-07 02:52:54

这是另一个:

http://www.essentialobjects.com/Products/WebBrowser/Default.aspx

这也是基于最新的Chrome引擎,但它比CEF更容易使用。它是一个单独的.NET dll,您可以简单地引用和使用它。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18119125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档