1

WebBrowser コントロールを使用して HTML を操作し、ニーズに合わせてライブラリを開発しましたが、このライブラリは winforms アプリではなく Web アプリで動作する必要があります。私が得る主な問題はこれです:

「現在のスレッドがシングルスレッド アパートメントにないため、ActiveX コントロール '8856f961-340a-11d0-a96b-00c04fd705a2' をインスタンス化できません。」

これは、WebBrowser コントロールを STA スレッドで実行する必要があるためだと理解していますが、明らかに Web アプリは STA 環境ではありません。ただし、サーバー側のプロセスであるため、ページ自体にはありません。どうすればこれを回避できるかについてのアイデアはありますか? 非表示のページのPageタグにAspCompat="true"属性を設定し、そこから実行することを検討しましたが、より洗練されたソリューションが必要です。

乾杯

4

1 に答える 1

0

SetApartmentState()を介してApartmentStateを明示的に設定した新しいスレッドで作業をインスタンス化して実行します。

于 2010-05-18T11:39:34.307 に答える