Finish removing Autofac

This commit is contained in:
Reuben Bond 2023-05-04 09:41:56 -07:00
parent b9f48faf99
commit fea08c78bb
25 changed files with 16 additions and 94 deletions

View File

@ -4,7 +4,6 @@ using Microsoft.Extensions.DependencyInjection;
public class EventBusRabbitMQ : IEventBus, IDisposable public class EventBusRabbitMQ : IEventBus, IDisposable
{ {
const string BROKER_NAME = "eshop_event_bus"; const string BROKER_NAME = "eshop_event_bus";
const string AUTOFAC_SCOPE_NAME = "eshop_event_bus";
private readonly IRabbitMQPersistentConnection _persistentConnection; private readonly IRabbitMQPersistentConnection _persistentConnection;
private readonly ILogger<EventBusRabbitMQ> _logger; private readonly ILogger<EventBusRabbitMQ> _logger;

View File

@ -6,7 +6,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" />
<PackageReference Include="Microsoft.CSharp" /> <PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="Microsoft.Extensions.Logging" /> <PackageReference Include="Microsoft.Extensions.Logging" />
<PackageReference Include="Polly" /> <PackageReference Include="Polly" />

View File

@ -7,7 +7,6 @@ global using RabbitMQ.Client.Exceptions;
global using System; global using System;
global using System.IO; global using System.IO;
global using System.Net.Sockets; global using System.Net.Sockets;
global using Autofac;
global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus; global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus;
global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Abstractions; global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Abstractions;
global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events; global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;

View File

@ -6,7 +6,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" />
<PackageReference Include="Azure.Messaging.ServiceBus" /> <PackageReference Include="Azure.Messaging.ServiceBus" />
<PackageReference Include="Microsoft.CSharp" /> <PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="Microsoft.Extensions.Logging" /> <PackageReference Include="Microsoft.Extensions.Logging" />

View File

@ -2,7 +2,6 @@
global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events; global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus.Events;
global using System.Threading.Tasks; global using System.Threading.Tasks;
global using System; global using System;
global using Autofac;
global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus; global using Microsoft.eShopOnContainers.BuildingBlocks.EventBus;
global using Microsoft.Extensions.Logging; global using Microsoft.Extensions.Logging;
global using System.Text; global using System.Text;

View File

@ -14,8 +14,6 @@
<PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" /> <PackageVersion Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
<PackageVersion Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" /> <PackageVersion Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
<PackageVersion Include="AspNetCore.HealthChecks.Uris" Version="6.0.3" /> <PackageVersion Include="AspNetCore.HealthChecks.Uris" Version="6.0.3" />
<PackageVersion Include="Autofac" Version="6.5.0" />
<PackageVersion Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
<PackageVersion Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.2.2" /> <PackageVersion Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.2.2" />
<PackageVersion Include="Azure.Identity" Version="1.8.2" /> <PackageVersion Include="Azure.Identity" Version="1.8.2" />
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.12.0" /> <PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.12.0" />

View File

@ -6,7 +6,6 @@ global using System.Net;
global using System.Security.Claims; global using System.Security.Claims;
global using System.Text.Json; global using System.Text.Json;
global using System.Threading.Tasks; global using System.Threading.Tasks;
global using Autofac;
global using Basket.API.Infrastructure.ActionResults; global using Basket.API.Infrastructure.ActionResults;
global using Basket.API.Infrastructure.Exceptions; global using Basket.API.Infrastructure.Exceptions;
global using Basket.API.Infrastructure.Filters; global using Basket.API.Infrastructure.Filters;

View File

@ -11,7 +11,6 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Duende.IdentityServer.AspNetIdentity" /> <PackageReference Include="Duende.IdentityServer.AspNetIdentity" />
<PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" /> <PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" />
<PackageReference Include="Duende.IdentityServer.EntityFramework" /> <PackageReference Include="Duende.IdentityServer.EntityFramework" />

View File

@ -1,7 +1,5 @@
global using ApiModels = Microsoft.eShopOnContainers.Services.Ordering.API.Application.Models; global using ApiModels = Microsoft.eShopOnContainers.Services.Ordering.API.Application.Models;
global using AppCommand = Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands; global using AppCommand = Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
global using Autofac.Extensions.DependencyInjection;
global using Autofac;
global using Azure.Core; global using Azure.Core;
global using Azure.Identity; global using Azure.Identity;
global using Dapper; global using Dapper;

View File

@ -1,20 +0,0 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure.AutofacModules;
public class ApplicationModule
: Autofac.Module
{
public string QueriesConnectionString { get; }
public ApplicationModule(string qconstr)
{
QueriesConnectionString = qconstr;
}
protected override void Load(ContainerBuilder builder)
{
}
}

View File

@ -1,9 +0,0 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure.AutofacModules;
public class MediatorModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
}
}

View File

@ -20,7 +20,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<InternalsVisibleTo Include="Ordering.FunctionalTests"/> <InternalsVisibleTo Include="Ordering.FunctionalTests" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -44,7 +44,6 @@
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" /> <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" /> <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" />
<PackageReference Include="Azure.Identity" /> <PackageReference Include="Azure.Identity" />
<PackageReference Include="Dapper" /> <PackageReference Include="Dapper" />
@ -74,4 +73,4 @@
</None> </None>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -38,11 +38,6 @@ builder.Services
.AddCustomConfiguration(builder.Configuration) .AddCustomConfiguration(builder.Configuration)
.AddEventBus(builder.Configuration); .AddEventBus(builder.Configuration);
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
// Register your own things directly with Autofac here. Don't
// call builder.Populate(), that happens in AutofacServiceProviderFactory
// for you.
var services = builder.Services; var services = builder.Services;
services.AddMediatR(cfg => services.AddMediatR(cfg =>

View File

@ -12,8 +12,6 @@
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" /> <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Autofac" />
<PackageReference Include="Dapper" /> <PackageReference Include="Dapper" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" /> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" />
<PackageReference Include="Microsoft.Extensions.Hosting" /> <PackageReference Include="Microsoft.Extensions.Hosting" />

View File

@ -1,20 +0,0 @@
namespace Microsoft.eShopOnContainers.Services.Ordering.SignalrHub.AutofacModules;
public class ApplicationModule
: Autofac.Module
{
public string QueriesConnectionString { get; }
public ApplicationModule()
{
}
protected override void Load(ContainerBuilder builder)
{
builder.RegisterAssemblyTypes(typeof(OrderStatusChangedToAwaitingValidationIntegrationEvent).GetTypeInfo().Assembly)
.AsClosedTypesOf(typeof(IIntegrationEventHandler<>));
}
}

View File

@ -1,6 +1,4 @@
global using Autofac.Extensions.DependencyInjection; global using HealthChecks.UI.Client;
global using Autofac;
global using HealthChecks.UI.Client;
global using Microsoft.AspNetCore.Authentication.JwtBearer; global using Microsoft.AspNetCore.Authentication.JwtBearer;
global using Microsoft.AspNetCore.Authorization; global using Microsoft.AspNetCore.Authorization;
global using Microsoft.AspNetCore.Builder; global using Microsoft.AspNetCore.Builder;
@ -19,7 +17,6 @@ global using Microsoft.Extensions.Configuration;
global using Microsoft.Extensions.DependencyInjection; global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Diagnostics.HealthChecks; global using Microsoft.Extensions.Diagnostics.HealthChecks;
global using Microsoft.Extensions.Logging; global using Microsoft.Extensions.Logging;
global using Microsoft.eShopOnContainers.Services.Ordering.SignalrHub.AutofacModules;
global using Microsoft.eShopOnContainers.Services.Ordering.SignalrHub.IntegrationEvents.EventHandling; global using Microsoft.eShopOnContainers.Services.Ordering.SignalrHub.IntegrationEvents.EventHandling;
global using Microsoft.eShopOnContainers.Services.Ordering.SignalrHub; global using Microsoft.eShopOnContainers.Services.Ordering.SignalrHub;
global using RabbitMQ.Client; global using RabbitMQ.Client;

View File

@ -11,7 +11,6 @@
<PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" /> <PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" />
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" /> <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" /> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" />
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" /> <PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" />
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" /> <PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" />

View File

@ -74,11 +74,16 @@ else
return new DefaultRabbitMQPersistentConnection(factory, logger, retryCount); return new DefaultRabbitMQPersistentConnection(factory, logger, retryCount);
}); });
} }
ConfigureAuthService(builder.Services, builder.Configuration); ConfigureAuthService(builder.Services, builder.Configuration);
RegisterEventBus(builder.Services, builder.Configuration); RegisterEventBus(builder.Services, builder.Configuration);
builder.Services.AddOptions(); builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToAwaitingValidationIntegrationEvent>, OrderStatusChangedToAwaitingValidationIntegrationEventHandler>();
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()); builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToCancelledIntegrationEvent>, OrderStatusChangedToCancelledIntegrationEventHandler>();
builder.Host.ConfigureContainer<ContainerBuilder>(conBuilder => conBuilder.RegisterModule(new ApplicationModule())); builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToPaidIntegrationEvent>, OrderStatusChangedToPaidIntegrationEventHandler>();
builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToShippedIntegrationEvent>, OrderStatusChangedToShippedIntegrationEventHandler>();
builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToStockConfirmedIntegrationEvent>, OrderStatusChangedToStockConfirmedIntegrationEventHandler>();
builder.Services.AddSingleton<IIntegrationEventHandler<OrderStatusChangedToSubmittedIntegrationEvent>, OrderStatusChangedToSubmittedIntegrationEventHandler>();
var app = builder.Build(); var app = builder.Build();
if (app.Environment.IsDevelopment()) if (app.Environment.IsDevelopment())
{ {

View File

@ -28,8 +28,7 @@ public class IdentifiedCommandHandlerTest
//Act //Act
var handler = new CreateOrderIdentifiedCommandHandler(_mediator.Object, _requestManager.Object, _loggerMock.Object); var handler = new CreateOrderIdentifiedCommandHandler(_mediator.Object, _requestManager.Object, _loggerMock.Object);
var cltToken = new System.Threading.CancellationToken(); var result = await handler.Handle(fakeOrderCmd, CancellationToken.None);
var result = await handler.Handle(fakeOrderCmd, cltToken);
//Assert //Assert
Assert.True(result); Assert.True(result);

View File

@ -1,6 +1,4 @@
global using Autofac.Extensions.DependencyInjection; global using Azure.Core;
global using Autofac;
global using Azure.Core;
global using Azure.Identity; global using Azure.Identity;
global using HealthChecks.UI.Client; global using HealthChecks.UI.Client;
global using Microsoft.AspNetCore.Diagnostics.HealthChecks; global using Microsoft.AspNetCore.Diagnostics.HealthChecks;

View File

@ -12,7 +12,6 @@
<PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" /> <PackageReference Include="AspNetCore.HealthChecks.AzureServiceBus" />
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" /> <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" /> <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" />
<PackageReference Include="Azure.Identity" /> <PackageReference Include="Azure.Identity" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" /> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" />

View File

@ -15,7 +15,6 @@
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" /> <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Duende.IdentityServer.AspNetIdentity" /> <PackageReference Include="Duende.IdentityServer.AspNetIdentity" />
<PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" /> <PackageReference Include="Duende.IdentityServer.EntityFramework.Storage" />
<PackageReference Include="Duende.IdentityServer.EntityFramework" /> <PackageReference Include="Duende.IdentityServer.EntityFramework" />

View File

@ -1,6 +1,4 @@
global using Autofac.Extensions.DependencyInjection; global using HealthChecks.UI.Client;
global using Autofac;
global using HealthChecks.UI.Client;
global using Microsoft.AspNetCore.Authentication.JwtBearer; global using Microsoft.AspNetCore.Authentication.JwtBearer;
global using Microsoft.AspNetCore.Authorization; global using Microsoft.AspNetCore.Authorization;
global using Microsoft.AspNetCore.Builder; global using Microsoft.AspNetCore.Builder;

View File

@ -1,4 +1,4 @@
namespace Webhooks.API; namespace Webhooks.API;
public class Startup public class Startup
{ {
public IConfiguration Configuration { get; } public IConfiguration Configuration { get; }
@ -26,10 +26,7 @@ public class Startup
.AddTransient<IGrantUrlTesterService, GrantUrlTesterService>() .AddTransient<IGrantUrlTesterService, GrantUrlTesterService>()
.AddTransient<IWebhooksRetriever, WebhooksRetriever>() .AddTransient<IWebhooksRetriever, WebhooksRetriever>()
.AddTransient<IWebhooksSender, WebhooksSender>(); .AddTransient<IWebhooksSender, WebhooksSender>();
return services.BuildServiceProvider();
var container = new ContainerBuilder();
container.Populate(services);
return new AutofacServiceProvider(container.Build());
} }
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)

View File

@ -12,7 +12,6 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" /> <PackageReference Include="AspNetCore.HealthChecks.SqlServer" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" /> <PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" /> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" />
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" /> <PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" />
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" /> <PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" />