没有线程的WebBrowser控件

时间:2014-11-18 13:26:07

标签: c# winforms

我没有在我的应用程序中使用任何线程,但我得到了这个例外:

  

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

当我在我的网络应用程序中初始化WebBrowser时。

WebBrowser wb = new WebBrowser();

这是我调用此方法的正常流程。

Page_Load()
{
    TestWebBrowser("www.something.com")
}

static string TestWebBrowser(string url);
{
            WebBrowser wb = new WebBrowser();
            wb.ScrollBarsEnaenter code herebled = false;
            wb.ScriptErrorsSuppressed = true;
            wb.Navigate(url);
            while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }

            mshtml.IHTMLDocument3 documentAsIHtmlDocument3 = (mshtml.IHTMLDocument3)wb.Document.DomDocument;

            var content = documentAsIHtmlDocument3.documentElement.innerHTML;
            return content ;
}

1 个答案:

答案 0 :(得分:0)

将代码包装在Try / Catch块中并阻止异常/内部异常(希望)原因。