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