オブジェクトがSystem.Timers.Timer
あり、そのElapsedメソッド内で呼び出したいのですが、その呼び出しがで作成されmyObject.TriggerEvent(...)
たスレッドで発生するようにします。myObject
これを行う簡単な方法はありますか?そして、これは何らかの理由で悪い考えですか?myObject
基本的にはイベントマネージャーサービスなので、作成されたスレッドでイベントをトリガーしたいと思います。私がタイマーを使用している理由は、更新のためにサービスをポーリングしている別のタイマーがあり、それがメソッドmyObject
を介して通知されるためです。TriggerEvent
質問する
154 次
2 に答える
1
独自のSynchronizationContext実装を作成し、そのインスタンスを の呼び出し元に提供できますmyObject.TriggerEvent
。myObject
WPF、SL、または WinForms アプリケーションで使用している場合は、SynchronizationContext クラスの既存の実装を使用しmyObject
て、GUI スレッドで作成できます。
于 2012-07-03T19:13:34.597 に答える
0
Dispatcherの使用をお勧めします。WPF のコンテキストで作成されましたが、他の場所で使用できない理由はありません。数回使用しましたが、常にメッセージ ポンプ (Win32) がありましたが、サービス コンテキスト (IIS など) でも使用できると思いますが、そのようなコードは書いていないので、 YMMV。これは、WPF の観点からの優れた記事です。
エリック
于 2012-07-03T20:05:20.853 に答える