qq_26796401
鹿面牡冠
采纳率20%
2018-08-31 03:11

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

40

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • qq_26796401 鹿面牡冠 3年前

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

    点赞 评论 复制链接分享
  • qq_26796401 鹿面牡冠 3年前

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

    点赞 评论 复制链接分享
  • Mad__Rabbit 我家狗狗叫猫咪 3年前

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

    点赞 评论 复制链接分享

为你推荐