Web 浏览器控件会导致整个应用程序无响应

本文关键字:应用程序 响应 浏览器 控件 Web | 更新日期: 2023-09-27 18:36:52

我有一个带有嵌入式Web浏览器的C# .NET 3.5应用程序。浏览器旨在指向远程站点(而不是本地的任何站点)。一切正常,但是当页面响应缓慢时,这会导致我的整个应用程序变得无响应,直到页面加载。

我不介意浏览器在做它的事情时没有响应,但应用程序也远非理想。

有没有防止这种情况的好方法?在单独的线程上运行 WebBrowser 是否有益 - 这有点超出我现在的技能范围,而且我认为 WebBrowser 控件真的不喜欢多线程?但如果需要,我可以学习。

Web 浏览器控件会导致整个应用程序无响应

有关如何在单独的线程上运行它的解决方案,请参阅有关此问题的答案 #2:BackgroundWorker 和 WebBrowser 控件

您也可以阅读答案#1,它解释了您所看到的行为(Web浏览器控件阻止UI thead)。

碰巧的是,我发现造成这种情况的根本原因是我的应用程序以管理员身份运行。使用 Internet Explorer 时也看到了完全相同的问题 - 因此,我只是重写了需要管理员权限的部分,所以我现在不再看到原始问题。

只发生在win7上;I使用 fiddler2 来监控 HTTP/HTTPs 流量。我找到嵌入式网络浏览器访问这个网站:http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab?50ff94e72ac1a75c;解决方案如下:http://support.microsoft.com/kb/2730040/en (方法2或方法3).你可以试试。其他你可以使用.NET framework4.0,那么你没有这个问题。