feat: Перенесены внешние сервисы в Infrastructure. Удалены лишние проекты.

This commit is contained in:
Mikhail Trubnikov
2026-04-14 16:27:27 +10:00
parent 13dd2815d4
commit 188ebc20a0
159 changed files with 354 additions and 1389 deletions

View File

@@ -1,9 +1,13 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using PARR.Core.Common;
using PARR.Core.Common.RabbitServices;
using PARR.Core.Common.Interfaces;
using PARR.Core.Common.Interfaces.RabbitServices;
using PARR.DAL.InfluxDbServices;
using PARR.Domain.Settings;
using PARR.Infrastructure.Interval;
using PARR.Infrastructure.Rabbit;
using PARR.Infrastructure.Redis;
using StackExchange.Redis;
namespace PARR.Infrastructure
{
@@ -19,11 +23,49 @@ namespace PARR.Infrastructure
{
// тут регистрируем все внешние сервисы, Rabbit, Redis, Email...
#region Rabbit
services.AddHttpClient<IRabbitAdminService, RabbitAdminService>();
services.AddTransient<IRabbitService, RabbitService>();
#endregion
#region Interval
services.AddTransient<IIntervalService, IntervalService>();
#endregion
#region Redis
services.AddSingleton<IConnectionMultiplexer>(sp =>
{
// IConnectionMultiplexer - для нативных операций Redis
var connectionString = configuration.GetConnectionString("RedisConnection");
return ConnectionMultiplexer.Connect(connectionString);
});
services.AddStackExchangeRedisCache(opt =>
{
opt.Configuration = configuration.GetConnectionString("RedisConnection");
});
services.AddSingleton<IRedisCacheService, RedisCacheService>();
#endregion
#region InfluxDb
var influxDbSettings = new InfluxDbSettings();
configuration.GetSection(nameof(InfluxDbSettings)).Bind(influxDbSettings);
services.AddSingleton(influxDbSettings);
services.AddTransient<IInfluxDbService, InfluxDbService>();
#endregion
//services.AddTransient<IEmailService, EmailService>();
//services.AddTransient<IRabbitService, RabbitService>();
////Redis (singleton)