2011-12-05 15 views
0

私はWCF環境内でパブリッシュサブスクライブパターンを使用しています。リフレクトを使用してメソッドのリストを呼び出す

私は加入者に

をパブ\サブサービスからのメッセージを公開したい場合は、私はリフレクションを使用して、それをやっています。

私はforeachを使用してメソッドを1つずつ呼び出しています。

どうすればこの操作を非同期で行うことができますか?

おかげ

+0

なぜ反射ですか?あなたのコードを投稿してください...また、これをチェックしてくださいhttp://stackoverflow.com/questions/8383439/invoke-list-of-methods-by-using-reflection –

+0

私はパイプバインディングを使用しています、私はポストが動作していないと思いますそれ。私が間違っている?今のところ私はParallel.ForEachを使用しています。 – Guy

+0

あなたのコードを共有できますか? –

答えて

0

あなたは非同期的に、各メソッド呼び出しを実行するとSystem.Threading.ThreadPool.QueueUserWorkItem(WaitCallback)を使用して、たとえば、新しいスレッドプールのスレッドでそれらの一つ一つのちょうどスピンすることができ、戻り値を気にしない希望の場合。

さらに高度なシナリオをお持ちの場合は、TPL(タスク並列ライブラリ)、Rx.NET(Reactive Extensions)など、より構造化された方法があります。

+0

私はParallel.ForEach()を使用していますが、より良い解決策がありますか?多分反射を使用していない? – Guy

+0

私の答えが意図した通り、 'Parallel.ForEach'も同じように動作します。しかし、リフレクションやその他の動的なテクニックを使用しているかどうかにかかわらず、メソッドを呼び出す方法はほとんどありません。これはあなたが本当に求めていることですか?メソッドを動的に呼び出す方法は? – lbergnehr