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