По какой-то причине я не могу использовать повторную попытку для моего потребителя. Я следую примеру из документации, я просто добавляю простой r.Interval <> для моего потребителя, но при сборке это не удается ... не знаю, почему
services.AddMassTransit(x =>
{
x.AddConsumer<SyncConsumer>();
x.AddConsumer<SyncForcadoConsumer>();
});
services.AddSingleton(provider => Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
var host = cfg.Host(
"Endpoint=sb://" + busName + ".servicebus.windows.net/;" +
"SharedAccessKeyName=" + keyName + ";" +
"SharedAccessKey=" + secret,
z =>
{
TokenProvider
.CreateSharedAccessSignatureTokenProvider(keyName, secret);
});
cfg.UseExtensionsLogging(provider.GetService<ILoggerFactory>());
cfg.ReceiveEndpoint(host, "sync-crm-relacionamento",
e => { e.Consumer<SyncConsumer>(provider); });
cfg.ReceiveEndpoint(host, "sync-forcado-crm-relacionamento",
e =>
{
e.Consumer<SyncForcadoConsumer>(provider);
e.UseMessageRetry(r =>
{
r.Handle<ArgumentNullException>();
});
});
}));
но по какой-то причине я получаю эту ошибку
Unhandled Exception: MassTransit.ConfigurationException: An exception occurred during bus creation ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MassTransit.PipeConfigurators.ConsumeContextRetryPipeSpecification`2.Apply(IPipeBuilder`1 builder)
at MassTransit.ConsumePipeSpecifications.MessageConsumePipeSpecification`1.Apply(ISpecificationPipeBuilder`1 builder)
at MassTransit.ConsumePipeSpecifications.MessageConsumePipeSpecification`1.BuildMessagePipe(IPipe`1 pipe)
at MassTransit.Builders.ReceiveEndpointBuilder.ConnectConsumePipe[T](IPipe`1 pipe)
at MassTransit.ConsumeConnectors.ConsumerConnector`1.MassTransit.ConsumeConnectors.IConsumerConnector.ConnectConsumer[TConsumer](IConsumePipeConnector consumePipe, IConsumerFactory`1 consumerFactory, IConsumerSpecification`1 specification)
at MassTransit.ConsumeConfigurators.ConsumerConfigurator`1.Configure(IReceiveEndpointBuilder builder)
Есть идеи?