我写了一个.net mvc的项目,里面需要用到webbrowser控件,但是在程序运行到webbrowser初始化时出现异常:
“System.Threading.ThreadStateException”类型的异常在 System.Windows.Forms.dll 中发生,但未在用户代码中进行处理
其他信息: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。
看样子webbrowser需要在STAThread中才能正常使用,但是我在网上查了很多资料,也没有找到如何能使MVC运行的线程变为STAThread的,求教大家有没有解决方法?
如果把WebBrowser放到单独线程里,那我要是想要从WebBrowser里取值该怎么办?
我试过在原线程定义WebBrowser wb,在新开辟的线程里实例化wb = new WebBrowser(),但是这样在原线程里wb还是null,没办法使用。
把webbrowser初始化的代码放到一个单独的线程里:
WebBrowser初始化后我还要对它进行操作,再开辟线程没办法操作,我觉得还是需要想办法把原来的线程编程STAThread才行。