2010-03-18 67 views
3

当我订阅的使用NServiceBus当我使用NServiceBus订阅消息时会发生什么?

Bus.Subscribe<MyMessage>() 

什么我实际上做一个某种类型的邮件的收件人?我是否指定在收到消息时调用接收方类型的特定方法?如果是这样,在方法运行的上下文中 - 在静态上下文中,还是在新的父类实例的上下文中(如果是这样,NServiceBus如何知道要使用的构造函数)?

回答

8

向发布者发送一条消息,告诉它“你好,我的名字是'queue @ subscriber-machine',我想订阅'MyMessage'事件 - 所以当你发布这些消息时发送给我。发布商存储此信息。当发布者发布MyMessage事件时,这些事件将被放入订阅者的输入队列中。在用户端,消息像其他所有处理 - 实现IHandleMessage的所有类,其中T与消息在多态上兼容,并以适当的顺序调用。

+0

这不回答“在静态上下文中”问题的一部分。 IoC容器应该使用静态处理程序对象吗? – JarrettV 2011-05-04 03:22:55

+1

它为每个消息创建一个类的新实例,以便默认情况下所有内容都是线程安全的。 – 2011-05-04 11:16:41

相关问题