0

I have written a MassTransit consumer to consume a message from Azure Service Bus queue.

The consumer currently failing to consumer message from queue. I have set a breakpoint within Consumer.cs on Consume Task and it never hits the breakpoint?

I am not sure if I am missing anything in Program.cs in terms of configuration?

The configuration within Program.cs is as follows

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureServices((hostContext, services) =>
            {
                services.AddMassTransit(x =>
                {
                    x.AddConsumer<TestConsumer>();
                    x.UsingAzureServiceBus((context, cfg) =>
                    {

                        cfg.Host("sb://<endpoint>.servicebus.windows.net");

                        cfg.ReceiveEndpoint("<queue>", ec =>
                        {
                            ec.ConfigureConsumer<TestConsumer>(context);
                        });
                    });

                });
            });

Consumer.cs

public class TestConsumer :
    IConsumer<ConsumerData>
{
    readonly ILogger<TestConsumer> _logger;

    public TestConsumer(ILogger<TestConsumer> logger)
    {
        _logger = logger;
    }
    
    public Task Consume(ConsumeContext<ConsumerData> context)
    {
        _logger.LogInformation("Hello {Username}", context.Message.User);

        return Task.CompletedTask;
    }
}
KJSR
  • 1,679
  • 6
  • 28
  • 51

1 Answers1

0

Reference:

I have referred this MassTransit , git @Chris Patterson and Stack reference. Thank @ChrisPatterson for the steps.

public static IHostBuilder CreateHostBuilder(string[] args) =>
          Host.CreateDefaultBuilder(args)
              .ConfigureServices((hostContext, services) =>
              {
                  services.AddMassTransit(x =>
                  {
                      x.SetKebabCaseEndpointNameFormatter();
                    x.SetInMemorySagaRepositoryProvider();
                    var entryAssembly = Assembly.GetEntryAssembly();
                      x.AddConsumers(entryAssembly);
                      x.AddSagaStateMachines(entryAssembly);
                      x.AddSagas(entryAssembly);
                      x.AddActivities(entryAssembly);
                      x.UsingAzureServiceBus(configure:(context,cfg)=>
                      {
                          cfg.Host("connectionstring"); // Replace with your actual connection string

                          cfg.ReceiveEndpoint("queuenname", e =>
                          {
                              e.Consumer<HelloConsumer>(context); // Register your consumer for the message
                          });
                      });
                  });

                  services.AddHostedService<Worker>();
              });
  }
}

enter image description here

In Azure :

enter image description here

enter image description here

enter image description here

Sampath
  • 810
  • 2
  • 2
  • 13