【问题标题】:Auditing using Rebus 2 on Azure Service Bus在 Azure 服务总线上使用 Rebus 2 进行审计
【发布时间】:2016-04-28 21:08:42
【问题描述】:

我的代码中有这样的东西

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);

假设“endpointQueueName”和“auditQueueName”存在于我的 Azure 服务总线命名空间中。当我发送 MyMessage 类型的消息时,我希望在“endpointQueueName”队列和“auditQueueName”队列中找到它,但这不会发生。我只在“endpointQueueName”队列中找到它。

为什么?

我在配置中做错了什么?

【问题讨论】:

    标签: azure rebus


    【解决方案1】:

    您正在观察正确的行为:)

    the Message Auditing documentation 中所述,消息被复制到审核队列中在消息消失之前,即

    • 处理消息时
    • 发布消息时(因为它可能发布给 0 个订阅者 - Rebus 无法知道)

    因此,如果您的处理程序(还必须配置消息审核)正确处理消息,您应该会在审核队列中看到一个副本(带有一些额外的标头)。

    我希望它更清楚:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 2020-06-13
      • 2016-12-31
      • 2018-09-10
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多