我的代码中有这样的东西
bus = Configure.With(activator)
.Options(o => o.SimpleRetryStrategy(errorQueueAddress: configuration.GetStringSettings("ErrorQueue")))
.Routing(r => r.TypeBased().Map<MyMessage>("endpointQueueName"))
.Transport(a => a.UseAzureServiceBus(configuration.GetStringSettings("AzureConnectionString"), configuration.GetStringSettings("InputQueueAddress"), Rebus.AzureServiceBus.Config.AzureServiceBusMode.Standard))
.Options(o => o.EnableMessageAuditing("auditQueueName"))
.Start();
...
bus.Send(message);
假设我的azure服务总线命名空间中存在“endpointQueueName”和“auditQueueName”。当我发送MyMessage类型的消息时,我希望在“endpointQueueName”队列和“auditQueueName”队列中找到它,但这不会发生。我只在“endpointQueueName”队列中找到它。
为什么呢?
我在配置上做错了什么?
答案 0 :(得分:1)
您正在观察正确的行为:)
如the Message Auditing documentation中所述,消息在消息消失之前被复制到审核队列 ,即
因此,如果您的处理程序(必须也配置了消息审核)正确处理消息,您应该在审核队列中看到一个副本(带有一些额外的标题)。
我希望这更清楚:)