Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Azure服务总线上使用Rebus 2进行审核_Azure_Rebus - Fatal编程技术网

在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无法知道)
因此,如果您的处理程序(还必须配置消息审核)正确地处理消息,您应该在审核队列中看到一个副本(带有一些额外的头)

我希望这能让事情更清楚:)