WCF pub-sub模型,一次调用Subscribers

时间:2012-09-14 06:19:56

标签: c# wcf publish-subscribe

我们有一个WCF发布 - 订阅模型应用程序,它工作正常。

但这部分代码。

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

有没有办法一次性调用所有订阅者。由于上面的代码是在循环中获取每个订阅者并发布。这导致其他订阅者等到执行先前。

1 个答案:

答案 0 :(得分:3)

为什么不同时调用它们?

Parallel.ForEach(subscribers.ToArray(), subscriber =>
{
    try
    {
        object ClientResult;
        ClientResult = publishMethodInfo.Invoke(
            subscriber.CallBackId, new object[] { ClData });
    }
    ...
});