作者money3064 (口嫌體正直)
看板C_Sharp
標題[問題] asp.net C# 中使用 webBrowser 抓畫面
時間Mon Apr 28 10:49:02 2008
我想輸入url 抓畫面變成圖片 輸出在網頁上
編譯無誤 但執行會出現下面的錯誤訊息
希望先進指點一下 謝謝!
錯誤訊息:
無法產生 ActiveX 控制項 '8856f961-340a-11d0-a96b-00c04fd705a2',因為目前的執
行緒不是在單一執行緒 Apartment。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯
誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.Threading.ThreadStateException: 無法產生 ActiveX 控制項
'8856f961-340a-11d0-a96b-00c04fd705a2',因為目前的執行緒不是在單一執行緒
Apartment。
[ThreadStateException: 無法產生 ActiveX 控制項
'8856f961-340a-11d0-a96b-00c04fd705a2',因為目前的執行緒不是在單一執行緒
Apartment。]
System.Windows.Forms.WebBrowserBase..ctor(String clsidString) +3653451
System.Windows.Forms.WebBrowser..ctor() +54
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.92.61
1F:→ leicheong:COM+要求有UI的component都必須使用STA, 而Web Appl.是 04/28 11:02
2F:→ leicheong:MTA的, 你要這樣call當然不行啦... 04/28 11:02
3F:→ money3064:那該怎麼做呢? 04/28 11:06
4F:→ money3064:我找到了 04/28 11:38
5F:→ money3064:ASP.NET 應用程式應該將 @ Page 指示詞的 ASPCompat 屬 04/28 11:38
6F:→ money3064:ASPCompat 屬性設定為 true,強迫網頁由 STA 執行緒集뀠 04/28 11:38
7F:→ money3064:STA 執行緒集區服務。 04/28 11:38
8F:→ money3064:謝謝 04/28 11:39
9F:推 leicheong:另一個方法就是另寫一個Windows Service來處理, 讓網頁 04/28 12:59
10F:→ leicheong:經IPC呼叫service自動抓畫面. 04/28 13:00