C# COMException在某些2008 R2环境中使用WebBrowser控件

C# COMException在某些2008 R2环境中使用WebBrowser控件,c#,com,webbrowser-control,comexception,hresult,C#,Com,Webbrowser Control,Comexception,Hresult,在某些2008 R2环境中,而不是在其他环境中,当使用System.Windows.Forms.WebBrowser控件时,我会遇到COMExceptions。无论是通过DocumentText属性指定内容,还是使用URL参数调用Navigate方法,我都会遇到相同的异常: COMException-调用COM组件时返回错误HRESULT E_FAIL。 在System.Windows.Forms.unsafentiveMethods.IWebBrowser2.Refresh()中 我发现,在指

在某些2008 R2环境中,而不是在其他环境中,当使用
System.Windows.Forms.WebBrowser
控件时,我会遇到
COMExceptions
。无论是通过
DocumentText
属性指定内容,还是使用URL参数调用
Navigate
方法,我都会遇到相同的异常:

COMException-调用COM组件时返回错误HRESULT E_FAIL。

System.Windows.Forms.unsafentiveMethods.IWebBrowser2.Refresh()中

我发现,在指定
DocumentText
之前,在
WebBrowser
上设置
ScrollBarsEnabled
属性会导致此异常,这似乎是在浏览器没有内容(上一篇文章)时调用
Refresh
方法(参考上文)的结果。解决方法是设置一些模拟内容并调用
Application.DoEvents()
。但即使这样,在稍后加载内容时(在另一个线程中完成),也会导致上述异常

请注意,我指定的
DocumentCompleted
委托正在命中,但其
WebBrowser.axIWebBrowser2.StatusText
显示发生了异常,并且
WebBrowser.Document
为空

我可以安装一个简单的应用程序来重新处理这个问题,但我必须找到一个2008 R2实例,在那里bug是可复制的,以便进行调试。我更想问的是,是否有人知道是什么影响或导致了这个问题,可能与COM安全等有关

请注意,我正在
STA单元
状态下执行
WebBrowser

如有任何意见或建议,将不胜感激。提前谢谢! -马克斯