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

时间:2021-03-09 21:05:50
 protected void Button3_Click(object sender, EventArgs e)
        {
            //
            string s = "http://photo.blog.sina.com.cn/showpic.html#blogid=499287b20100mpoh&url=http://static9.photo.sina.com.cn/orignal/499287b2g94aace1da3a8";
            //Reg(TextArea2.Value, out s,0);

            WebBrowser wb = new WebBrowser();
            wb.DocumentText = TextArea2.Value;
            HtmlDocument hl = wb.Document;
            string shtml = "";

            for (int i = 0; i < hl.All.GetElementsByName("a").Count - 1; i++)
            {
                shtml += hl.All.GetElementsByName("a")[i].ToString();
            }

             
            string[] sss = s.Split(' ');
            Img(sss);
        }

错误:::::::::


“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Threading.ThreadStateException: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

源错误: 


行 292:            //Reg(TextArea2.Value, out s,0);
行 293:
行 294:            WebBrowser wb = new WebBrowser();
行 295:            wb.DocumentText = TextArea2.Value;
行 296:            HtmlDocument hl = wb.Document;
 

源文件: C:\Users\zeng\documents\visual studio 2010\Projects\WebApplication1\WebApplication1\Default.aspx.cs    行: 294 

10 个解决方案

#1


坐等高手进

#2


晕,跟我问的问题一样,哈。
我也出现这种情况了啊,看到帮我顶顶。

#3


你这边也没有人,跟我那边差不多,我还比你好点,哈。

#4


解决了没?现在。

#5


该回复于2010-11-11 10:05:01被版主删除

#6


引用 4 楼 juxianxiang 的回复:
解决了没?现在。


没有,囧!高手今天休假吧

#7


你还真有“创意”呢...敢在Page中使用WebBrowser...

UI ActiveX控件只能用于单元线程窗体程序,ASP.NET程序不支持...

建立在无知基础的“创意”叫胡闹...

#8


引用 7 楼 vrhero 的回复:
你还真有“创意”呢...敢在Page中使用WebBrowser...

UI ActiveX控件只能用于单元线程窗体程序,ASP.NET程序不支持...

建立在无知基础的“创意”叫胡闹...


嗯,批评的是。想到过应该是winform程序才有的。那填充Document有什么好的方法吗。我想从里面取值,提供下其他的方法也行。

#9


当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2
解决没,我急需答案。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#10


这个问题我也遇到了,你的解决没?

#1


坐等高手进

#2


晕,跟我问的问题一样,哈。
我也出现这种情况了啊,看到帮我顶顶。

#3


你这边也没有人,跟我那边差不多,我还比你好点,哈。

#4


解决了没?现在。

#5


该回复于2010-11-11 10:05:01被版主删除

#6


引用 4 楼 juxianxiang 的回复:
解决了没?现在。


没有,囧!高手今天休假吧

#7


你还真有“创意”呢...敢在Page中使用WebBrowser...

UI ActiveX控件只能用于单元线程窗体程序,ASP.NET程序不支持...

建立在无知基础的“创意”叫胡闹...

#8


引用 7 楼 vrhero 的回复:
你还真有“创意”呢...敢在Page中使用WebBrowser...

UI ActiveX控件只能用于单元线程窗体程序,ASP.NET程序不支持...

建立在无知基础的“创意”叫胡闹...


嗯,批评的是。想到过应该是winform程序才有的。那填充Document有什么好的方法吗。我想从里面取值,提供下其他的方法也行。

#9


当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2
解决没,我急需答案。。。。。。。。。。。。。。。。。。。。。。。。。。。。

#10


这个问题我也遇到了,你的解决没?