public static void AddDasNServiceBus(this IServiceCollection services, IConfiguration configuration) { services .AddSingleton(s => { var serviceBusConfiguration = new DasSharedNServiceBusConfiguration(); configuration.GetSection(nameof(DasSharedNServiceBusConfiguration)).Bind(serviceBusConfiguration); var endpointConfiguration = new EndpointConfiguration(RecruitVacanciesJobs); if (!string.IsNullOrEmpty(serviceBusConfiguration.ConnectionString)) { endpointConfiguration.UseAzureServiceBusTransport(serviceBusConfiguration.ConnectionString, r => { }); endpointConfiguration.UseLicense(serviceBusConfiguration.NServiceBusLicense); } else { endpointConfiguration.UseLearningTransport(); } endpointConfiguration.UseErrorQueue($"{RecruitVacanciesJobs}-errors") .UseInstallers() .UseMessageConventions() .UseDasMessageConventions() .UseNewtonsoftJsonSerializer() .UseNLogFactory() .UseServiceCollection(services); return(Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult()); }) .AddHostedService <NServiceBusHostedService>(); }
public static void AddDasNServiceBus(this IServiceCollection services, IConfiguration configuration) { services .AddSingleton(s => { var hostingEnvironment = s.GetService <IHostingEnvironment>(); var serviceBusConfiguration = new DasSharedNServiceBusConfiguration(); configuration.GetSection(nameof(DasSharedNServiceBusConfiguration)).Bind(serviceBusConfiguration); var endpointConfiguration = new EndpointConfiguration(RecruitVacanciesJobs) .UseAzureServiceBusTransport(isDevelopment: false, connectionStringBuilder: () => serviceBusConfiguration.ConnectionString, routing: r => { }) .UseErrorQueue() .UseInstallers() .UseLicense(serviceBusConfiguration.NServiceBusLicense) .UseMessageConventions() .UseDasMessageConventions() .UseNewtonsoftJsonSerializer() .UseNLogFactory() .UseServiceCollection(services); return(Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult()); }) .AddHostedService <NServiceBusHostedService>(); }