0

我的一些 NServiceBus 命令将需要跟踪谁发出命令以及何时发出命令。我非常不确定推荐的实现方式:

我应该创建一个基类MessageBase、添加public Dictionary<string, string> Headers;和实现IMutateOutgoingMessages吗?

是否应该将其添加到 MessageContext 中?如果是这样,我如何确保总线在发送每条消息(需要标头)之前添加它?

它已经完成了,我只是不知道如何访问它?(看起来用户在原始 MSMQ 消息中......)

4

1 回答 1

4

NServiceBus 已经为您提供了使用“NServiceBus.TimeSent”标头发送消息的时间。

使用内置的 NServiceBus 标头字典并跳过 MessageBase

附加用户 ID 最好在传出消息修改器中完成。只需从例如 HttpContext 中获取 ID 并将其添加为标题。

http://support.nservicebus.com/customer/portal/articles/860492

要获得时间(在您的处理程序/传奇中):

Bus.CurrentMessageContext.TimeSent

于 2013-02-23T07:02:37.833 回答