C# 如何为AzureServiceBus主题配置RequiresDuplicateDetection

C# 如何为AzureServiceBus主题配置RequiresDuplicateDetection,c#,masstransit,C#,Masstransit,我正在尝试将ASB主题上的RequiresDuplicateDetection属性配置为true,但似乎没有遵守主IServiceBusFactoryConfigurator上的设置: var busControl = Bus.Factory.CreateUsingAzureServiceBus(cfg => { cfg.Host("ASB_ConnectionString"); cfg.S

我正在尝试将ASB主题上的
RequiresDuplicateDetection
属性配置为true,但似乎没有遵守主
IServiceBusFactoryConfigurator
上的设置:

        var busControl = Bus.Factory.CreateUsingAzureServiceBus(cfg =>
        {
            cfg.Host("ASB_ConnectionString");
            cfg.SubscriptionEndpoint<ExtractionRequest>("Test", e =>
            {
                e.LockDuration = TimeSpan.FromMinutes(1);
                e.MaxAutoRenewDuration = TimeSpan.FromMinutes(5);
                e.AutoDeleteOnIdle = TimeSpan.FromHours(1);
            });
            cfg.RequiresDuplicateDetection = true;
        });

在此解决方法之后正确创建的主题。如果有人能对此有所了解,那就太好了。

您可以在总线配置器中为主题配置发布拓扑:

cfg.Publish<ExtractionRequest>(x => x.RequiresDuplicateDetection = true);
cfg.Publish(x=>x.RequiresDuplicateDetection=true);
您应该在配置订阅端点之前配置拓扑,在这种情况下,顺序尤其重要


在您的示例中,指定
cfg.RequiresDuplicateDetection=true
仅配置总线接收端点,而不是订阅端点或任何其他配置的接收端点。

非常感谢,在配置订阅端点之前配置拓扑确实很重要(刚刚选中)。
cfg.Publish<ExtractionRequest>(x => x.RequiresDuplicateDetection = true);