2016-06-26 9 views
0

私のWCFサービスアプリケーションが「シングルスレッド」で、バックグラウンドスレッドで何かを処理したが、メインIISスレッドで処理されたデータを処理する必要があるとします。 (逆に、一見簡単には、バックグラウンドスレッドですべての着信メソッドを再呼び出しすることができますが、これは私が求めているものではありません)。WCF:メインのIISスレッドでバックグラウンドタスクを実行するには?

バックグラウンドスレッドから、自分のWCFメソッドが呼び出されているメインスレッドに「通知」して「起きる」ようにして、指定したメソッドを処理できますか?

私は、WCF & IISの内部動作に熟知していません。私は、私のサービスのメソッドが完了ポートから呼び出されていると推測しているので、I/Oサービスの内容が窒息するのを防ぐために、可能な限り時間を取らなければなりません。私は、すべてのスレッド(私のメソッドへの呼び出し、私は実行する必要がある私のビデオ処理操作)上ですべてを同期させたいなら、コマンドqを作成し、すべての着信メソッド呼び出しをコマンドQに入れなければならないと思っています

確かにこれは非常に一般的なシナリオです。ほとんどの人はどうやってこれをやっているの?

答えて

0

私の理解から、あなたはバックグラウンドで何かを実行しようとしており、バックグラウンドジョブの結果に基づいてさらに何かを処理しようとしています。

タスクが完了したら、コールバック(Task.ContinueWith)を指定することができます。

関連する問題