Asp.Net MVC,如何让控制器里面函数线程变为STAThread

我写了一个.net mvc的项目,里面需要用到webbrowser控件,但是在程序运行到webbrowser初始化时出现异常:

“System.Threading.ThreadStateException”类型的异常在 System.Windows.Forms.dll 中发生,但未在用户代码中进行处理
其他信息: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

看样子webbrowser需要在STAThread中才能正常使用,但是我在网上查了很多资料,也没有找到如何能使MVC运行的线程变为STAThread的,求教大家有没有解决方法?

3个回答

如果把WebBrowser放到单独线程里,那我要是想要从WebBrowser里取值该怎么办?
我试过在原线程定义WebBrowser wb,在新开辟的线程里实例化wb = new WebBrowser(),但是这样在原线程里wb还是null,没办法使用。

把webbrowser初始化的代码放到一个单独的线程里:
图片说明

WebBrowser初始化后我还要对它进行操作,再开辟线程没办法操作,我觉得还是需要想办法把原来的线程编程STAThread才行。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!