1

WCF パブリッシュ/サブスクライブ モデル アプリケーションがあり、正常に動作します。

しかし、コードのこの部分。

  foreach (SubList subscriber in subscribers.ToList())
        {
           try
             {
               object ClientResult;
               ClientResult = publishMethodInfo.Invoke(subscriber.CallBackId, new object[] { ClData });
                }
          }

すべてのサブスクライバーを一度に呼び出す方法はありますか? 上記のコードは、各サブスクライバーを取得して公開するループ内にあるためです。これにより、prior が実行されるまで他のサブスクライバーが待機します。

4

1 に答える 1

3

それらを並行して呼び出さないのはなぜですか?

Parallel.ForEach(subscribers.ToArray(), subscriber =>
{
    try
    {
        object ClientResult;
        ClientResult = publishMethodInfo.Invoke(
            subscriber.CallBackId, new object[] { ClData });
    }
    ...
});
于 2012-09-14T07:12:06.867 に答える