0

私が得る完全なエラーは次のとおりです。

CLR は、COM コンテキスト 0x1a8188 から COM コンテキスト 0x1a8018 に 60 秒間遷移できませんでした。宛先コンテキスト/アパートメントを所有するスレッドは、非ポンピング待機を行っているか、Windows メッセージをポンピングせずに非常に長時間実行されている操作を処理している可能性があります。この状況は通常、パフォーマンスに悪影響を及ぼし、アプリケーションが応答しなくなったり、メモリ使用量が時間の経過とともに継続的に蓄積したりする可能性さえあります。この問題を回避するには、すべてのシングル スレッド アパートメント (STA) スレッドでポンピング待機プリミティブ (CoWaitForMultipleHandles など) を使用し、実行時間の長い操作中に定期的にメッセージをポンピングする必要があります。

これが何を意味するか分かりますか?そして、どのように解決すべきですか?Google で検索してみましたが、特定のシナリオに関連するものは何も見つかりませんでした。

編集: 特定のシナリオ: 1. WPF を WinForms に統合する 2. WPF 画面はプラグイン dll 用に作成され、メイン アプリケーションに動的にロードされます。

ありがとう

ハサナイン

4

1 に答える 1

1

これは、スレッド A でオブジェクトを作成し、それをスレッド B で使用しようとしたが、スレッド A が非常にビジーであり、COM オブジェクトがスレッド A で実行されている必要があることを意味します。スレッド A がビジーである理由を調べてみてください。

于 2011-05-10T15:33:13.570 に答える