具有MultiThreads的EventAggregator

时间:2011-05-27 08:54:46

标签: c# .net windows winforms events

我对IEventAggregator有点问题,让我解释一下

public class doSomething
{
    public doSomething()
    {
        Action<AddEvent> GetAddSolution = s => this.Add(s.a, s.b);
        IEventAggregator.GetEvent<AddEvent>().Subscribe(GetAddSolution);
    }

    public void Add(int a, int b)
    {
        IEventAggregator.GetEvent<AddSolutionEvent>().Publish(new AddSolutionEventArgs(a + b));
    }
}

以上是一个Demo服务,在我的例子中它是一个长期运行的服务,现在如果我有多个线程使用EventAggrigator调用Add(a,b),则发布请求的最后一个线程获得所有响应

如何将响应返回给发布请求事件的线程。

请提供指导。

先谢谢你。

1 个答案:

答案 0 :(得分:0)

eventaggregator中使用事件过滤器,得到了我自己的答案,简单明了。过滤器委托过滤事件。