在某些 2008 R2 环境而不是其他环境中,我COMExceptions
在使用System.Windows.Forms.WebBrowser
控件时遇到了问题。无论是通过DocumentText
属性指定内容还是Navigate
使用 URL 参数调用方法,我都会遇到相同的异常:
COMException - 对 COM 组件的调用已返回错误 HRESULT E_FAIL。
在System.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Refresh()
我发现在指定之前设置ScrollBarsEnabled
属性会导致此异常,这似乎是在浏览器没有内容时调用该方法(上面引用的)的结果(此处的最后一篇文章)。解决方法是设置一些模拟内容并调用. 但即使有了这个,它在稍后加载内容时会导致上述异常(在另一个线程中完成)。WebBrowser
DocumentText
Refresh
Application.DoEvents()
请注意,DocumentCompleted
我指定的委托正在被击中,但它WebBrowser.axIWebBrowser2.StatusText
表明发生了异常,并且WebBrowser.Document
为空。
我可以建立一个简单的应用程序来重现该问题,但我必须找到一个 2008 R2 实例,在该实例中该错误是可重现的,以便进行调试。我更多地询问是否有人知道可能会影响或导致问题的原因,可能与 COM 安全等有关。
请注意,我正在执行WebBrowser
状态STA Apartment
。
任何想法或建议将不胜感激。提前致谢!-最大限度