Vasilek
40 строк · 1.2 Кб
1using Microsoft.OpenApi.Models;
2using PaymentProcessor;
3using Vasilek.MessageBus;
4using Vasilek.Services.PaymentAPI.Messaging;
5using Vasilek.Services.PaymentAPI.RabbitMQSender;
6
7var builder = WebApplication.CreateBuilder(args);
8
9// Add services to the container.
10builder.Services.AddSingleton<IProcessPayment, ProcessPayment>();
11builder.Services.AddSingleton<IAzureServiceBusConsumer, AzureServiceBusConsumer>();
12builder.Services.AddSingleton<IMessageBus, AzureServiceBusMessageBus>();
13builder.Services.AddSingleton<IRabbitMQPaymentMessageSender, RabbitMQPaymentMessageSender>();
14builder.Services.AddHostedService<RabbitMQPaymentConsumer>();
15builder.Services.AddControllers();
16// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
17builder.Services.AddEndpointsApiExplorer();
18builder.Services.AddSwaggerGen(c =>
19{
20c.SwaggerDoc("v1", new OpenApiInfo { Title = "Vasilek.Services.PaymentAPI", Version = "v1" });
21});
22
23var app = builder.Build();
24
25// Configure the HTTP request pipeline.
26if (app.Environment.IsDevelopment())
27{
28app.UseSwagger();
29app.UseSwaggerUI();
30}
31
32app.UseHttpsRedirection();
33
34app.UseAuthorization();
35
36app.MapControllers();
37
38app.Run();
39
40//app.UseAzureServiceBusConsumer();
41