0

メイン (UI) スレッドで 1 つのデリゲートを実行したいと考えています。ただし、サードパーティのプラグイン (ESRI) が原因で、実行時にそのスレッドを取得できません。このプラグインは、 XML形式のサードパーティ DLL ファイルを介して Web アプリケーションからメッセージを受信すると開始します。奇妙なことは、メッセージを受信すると、(ESRI) プラグインのさらなる実行が別のスレッド (ID = 3 など) で開始されることです。

このサードパーティのプラグインをスタンドアロンで実行すると (ボタンを追加し、そのボタンをクリックしてさらにコードを実行するなど)、例外はスローされません。この場合、スレッド ID = 1 のように、コードはメイン (UI) スレッドで実行されます。

スレッド ID = 1 など、必要なスレッドでコードを実行する方法 (C#) はありますか?

注: これはサードパーティのプラグインであるため、Windows コントロール/フォームを制御することはできません。それを介してコントロールを追加することさえできません。

4

1 に答える 1

0

これを使用して、UIThread で任意のコードを実行できます。

Deployment.Current.Dispatcher.BeginInvoke(() => { /* UI code here*/ });
于 2013-05-29T01:52:09.817 に答える