【发布时间】:2017-08-14 17:22:54
【问题描述】:
有什么办法可以截取NServiceBus中的消息?
从现在开始,我可以通过像这样引入基本消息处理程序来手动完成:
public abstract class MessageHandler<T> : IHandleMessages<T>
where T : IMessage
{
public IBus Bus { get; set; }
protected abstract void HandleCommand(T command);
public void Handle(T command)
{
// perform some logic on *command* before
HandleCommand(command);
// perform some logic on *command* after
}
}
及用法:
public class ConcreteMessageHandler : MessageHandler<ConcreteMessage>
{
protected override void HandleCommand(ConcreteMessage message)
{
//handle command
}
}
但是这样做我失去了订阅多条消息的能力(因为我不能从多个 MessageHandler<> 类继承)。
【问题讨论】:
标签: .net nservicebus