我们有一个WCF发布 - 订阅模型应用程序,它工作正常。
但这部分代码。
foreach (SubList subscriber in subscribers.ToList())
{
try
{
object ClientResult;
ClientResult = publishMethodInfo.Invoke(subscriber.CallBackId, new object[] { ClData });
}
}
有没有办法一次性调用所有订阅者。由于上面的代码是在循环中获取每个订阅者并发布。这导致其他订阅者等到执行先前。
答案 0 :(得分:3)
为什么不同时调用它们?
Parallel.ForEach(subscribers.ToArray(), subscriber =>
{
try
{
object ClientResult;
ClientResult = publishMethodInfo.Invoke(
subscriber.CallBackId, new object[] { ClData });
}
...
});