如何在Web应用程序中使用Winforms WebBrowser控件?

时间:2009-05-19 14:07:04

标签: multithreading webbrowser-control

我开发了一个库来操作HTML以符合我们使用WebBrowser控件的需求,但是我需要这个库来处理Web应用程序而不是winforms应用程序。我得到的主要问题是:

“ActiveX控件'8856f961-340a-11d0-a96b-00c04fd705a2'无法实例化,因为当前线程不在单线程单元中。”

我理解这是因为WebBrowser控件需要在STA线程中运行,但显然Web应用程序不是STA环境。它是一个服务器端进程,所以它不在页面本身。关于如何解决这个问题的任何想法?我考虑在隐藏页面的 Page 标记上设置 AspCompat =“true”属性并从中运行它,但我宁愿使用更优雅的解决方案。

干杯

1 个答案:

答案 0 :(得分:0)

在新线程中实例化并执行您的工作,您已通过SetApartmentState()明确设置了ApartmentState。