Ejemplo n.º 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            AzureServiceBusConnectionDetails connectionDetails = new AzureServiceBusConnectionDetails()
            {
                ConnectionString = Configuration.GetConnectionString("AzureServiceBus")
            };

            // services.AddMediatR(typeof(BaseHandler<,>).GetTypeInfo().Assembly).;

            services.AddLogging(loggingBuilder => loggingBuilder.AddSerilog(dispose: true));

            RegisterEventBus(services, connectionDetails);
            AddEvents(services);
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "RACE API", Version = "v1"
                });
            });
            services.AddSingleton <IDatabaseContext, MySQLContext>(provider =>
            {
                return(new MySQLContext(Configuration.GetConnectionString("MySQLConnection")));
            });
            services.AddSingleton <IUnitOfWork, UnitOfWork>();
        }
 public static void RegisterConnection(this IServiceCollection serviceCollection, AzureServiceBusConnectionDetails connectionDetails, string exchangeName, string queueName)
 {
     serviceCollection.AddSingleton <IPersistentConnection>(sp =>
     {
         var logger = sp.GetRequiredService <ILogger <AzureServiceBusConnection> >();
         return(new AzureServiceBusConnection(connectionDetails, logger, exchangeName, queueName));
     });
 }
Ejemplo n.º 3
0
 private void RegisterEventBus(IServiceCollection serviceCollection, AzureServiceBusConnectionDetails connectionDetails)
 {
     serviceCollection.RegisterEventBus(5);
     serviceCollection.RegisterConnection(connectionDetails, "Auction", "auctionsalechange");
 }