Exemple #1
0
        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>();
        }
Exemple #2
0
        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>();
        }