在Azure服务总线上使用Rebus 2进行审核
我的代码中有类似的东西在Azure服务总线上使用Rebus 2进行审核,azure,rebus,Azure,Rebus,我的代码中有类似的东西 bus = Configure.With(activator) .Options(o => o.SimpleRetryStrategy(errorQueueAddress: configuration.GetStringSettings("ErrorQueue"))) .Routing(r => r.TypeBased().Map<MyMessage>("endpointQueueN
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);
bus=Configure.With(激活器)
.Options(o=>o.SimpleRetryStrategy(errorQueueAddress:configuration.GetStringSettings(“ErrorQueue”))
.Routing(r=>r.typebase().Map(“endpointQueueName”))
.Transport(a=>a.UseAzureServiceBus(configuration.GetStringSettings(“AzureConnectionString”)、configuration.GetStringSettings(“InputQueueAddress”)、Rebus.AzureServiceBus.Config.AzureServiceBusMode.Standard))
.Options(o=>o.EnableMessageAuditing(“auditQueueName”))
.Start();
...
总线发送(消息);
假设我的azure服务总线命名空间上存在“endpointQueueName”和“auditQueueName”。当我发送MyMessage类型的消息时,我希望在“endpointQueueName”队列和“auditQueueName”队列中找到它,但这并没有发生。我只在“endpointQueueName”队列中找到它
为什么?
配置中我做错了什么?您正在观察正确的行为:) 如中所述,在消息消失之前将消息复制到审核队列,即
- 处理消息时
- 发布消息时(因为它可以发布给0个订阅者-Rebus无法知道)