-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExtentions.cs
33 lines (29 loc) · 1.1 KB
/
Extentions.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using MassTransit;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System.Reflection;
namespace BuildingBlocks.Messaging.MassTransit
{
public static class Extentions
{
public static IServiceCollection AddMessageBroker(this IServiceCollection services, IConfiguration configuration, Assembly? assembly =null)
{
services.AddMassTransit(config =>
{
config.SetKebabCaseEndpointNameFormatter();
if (assembly != null)
config.AddConsumers(assembly);
config.UsingRabbitMq((context, configurator) =>
{
configurator.Host(new Uri(configuration["MessageBroker:Host"]!), host =>
{
host.Username(configuration["MessageBroker:UserName"]);
host.Password(configuration["MessageBroker:Password"]);
});
configurator.ConfigureEndpoints(context);
});
});
return services;
}
}
}