我正在开发一个.NET 2.0 WinForms应用程序。它以前包含标准的Microsoft ActiveX WebBrowser控件,但我正在研究替代方案。
我需要做什么:
在应用程序中使用WebBrowser作为标准Web浏览器控件
也可以在后台使用它 - 例如,创建控件,渲染网页并将结果输出到图像(使用.DrawToBitmap),而不会将控件附加到表单。
挂钩生命周期中的各种事件 - 主要是DocumentCompleted。
可以通过控件的新实例或使用现有控件每30秒左右加载(或重新加载)网页。该应用程序可以长时间无限期地运行。
必须使用.NET 2.0。没有3.0+或WPF的东西。
到目前为止我能找到的唯一三个控件都有相当严重的问题阻止我前进:
Microsoft ActiveX WebBrowser - 存在大量内存泄漏,使其不适合长时间运行。
WebKit.NET - 据我所知,在完成任何渲染之前,必须将其附加到表单上,这使缩略图生成部分无效。也似乎遭受了内存泄漏。
GeckoFX - 最适合我,但不能正确支持线程(这对于缩略图生成部分至关重要)。
还有其他选择吗?
答案 0 :(得分:2)
你能否以一种显示在屏幕可见区域外的形式嵌入WebKit.Net?
你也可以看一下Mono.WebKit或Mono.Mozilla,虽然我从来没有使用过这些。