更新了2020年的,我在linked my article中比较了在基本Windows桌面应用程序中托管HTML的不同方法的内存占用:
基于Internet Explorer的WPF WebBrowser控件存在一些keyboard and focus issues和memory leak issues问题。作为这些问题的替代解决方案,我们正在考虑在基于HTML编辑的WPF/C#项目中托管Chromium而不是WebBrowser控件的可用选项。类似的问题以前也曾在asked上出现过。我已经阅读了答案并做了自己的研究,但我希望从那些在production-quality projects中实际使用过以下任一选项的人那里获得更多反馈
它看起来非常合适,但我不喜欢这个项目不是开源的,而且完整的源代码也不容易获得。而且,这对我们的项目来说可能是一种过度的杀伤力,因为屏幕外渲染并不是我们真正依赖的。
Chromium Embedded Framework (CEF)和.NET bindings for CEF
这可能是目前可用的最佳选择。该项目似乎很活跃,目前正在与Chrome v27同步。CEF3使用Chrome多进程架构。看起来奥多比也给它提供了some endorsement。
虽然它最初的目的是作为IE和火狐的HTML5插件,但实际上它也可以作为独立的ActiveX控件使用,所以我可以将它包装为与WPF一起使用。它公开了一个与内部网页(onmessage, addEventListener/removeEventListener, postMessage
)交互的sufficient API。我知道谷歌是discontinue Chrome Frame,但我认为源代码将保留在Chromium库中。使用最新的Chromium代码更新它应该不难,我们将完全控制这一点。
不完全是基于铬的,也不使用V8引擎,所以它不是一个真正的选择。
有没有其他我可能忽略的选择?
如果有人将她/他的经验分享给现实生活中的生产质量的WPF项目,我将非常感激。您是否有任何集成、许可或部署方面的影响?谢谢你,
编辑我也要感谢artlung提供了一个慷慨的提议,给了这个问题一个提振。
https://stackoverflow.com/questions/18119125
复制相似问题