0

いくつかのバックグラウンド スレッド (実際にはインプロセス WCF サービス) を備えたアプリがあります。各スレッドは、いくつかの WPF クラスを使用するために独自の Dispatcher を実行します (いくつかのオーディオ/ビデオ ファイルを処理する MediaPlayer オブジェクト。BeginInvoke でいくつかのデリゲートをキューに入れ、最後に Dispatcher.Run を呼び出します)。処理が完了したら、スレッドが終了できるようにディスパッチャーをシャットダウンします。BeginInvokeShutdown を呼び出すと、アプリ内のすべてのディスパッチャーがシャットダウンされ、アプリが閉じられます。

ディスパッチャがメッセージ ループを終了するように、私にできることはありますか?

4

1 に答える 1

1

OK、WPF アプリ内で WCF サービスをホストする場合、サービスの呼び出されたメソッドにはアプリと同じディスパッチャーがあります。独自のディスパッチャーを使用して新しいスレッドを開始すると、InvokeShutdown は期待どおりに機能します。

于 2009-01-20T12:49:32.047 に答える