51 lines
2.1 KiB
C#
51 lines
2.1 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.DependencyInjection.Extensions;
|
|
using MP.Data.Controllers;
|
|
using MP.Data.Repository.Mtc;
|
|
using MP.Data.Repository.Utils;
|
|
using MP.Data.Services.Mtc;
|
|
using MP.Data.Services.Utils;
|
|
|
|
namespace MP.Data
|
|
{
|
|
public static class DataServiceCollectionExtensions
|
|
{
|
|
public static IServiceCollection AddIocDataLayer(this IServiceCollection services)
|
|
{
|
|
//// DbContextFactory: preferibile in Blazor Server e scenari concorrenti
|
|
//services.AddDbContextFactory<DataLayerContext>(options =>
|
|
// options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)));
|
|
|
|
//// servizi preliminari
|
|
////services.TryAddSingleton<IConnectionMultiplexer>(redisConn);
|
|
//services.TryAddSingleton<IRedisService, RedisService>();
|
|
//services.TryAddSingleton<IRedisSubscriptionManager, RedisSubscriptionManager>();
|
|
|
|
// Repository Singleton
|
|
services.TryAddSingleton<IMtcSetupRepository, MtcSetupRepository>();
|
|
|
|
// Repository Scoped
|
|
services.TryAddScoped<IStatsAggrRepository, StatsAggrRepository>();
|
|
services.TryAddScoped<IStatsDetailRepository, StatsDetailRepository>();
|
|
|
|
// Servizi Singleton
|
|
services.TryAddSingleton<IMtcSetupService, MtcSetupService>();
|
|
services.TryAddSingleton<MpIocController>();
|
|
|
|
// Servizi Scoped
|
|
services.TryAddScoped<IStatsAggrService, StatsAggrService>();
|
|
services.TryAddScoped<IStatsDetailService, StatsDetailService>();
|
|
|
|
//// aggiunta servizi finali Singleton...
|
|
//services.TryAddSingleton<IImageCacheService, ImageCacheService>();
|
|
//services.TryAddSingleton<IConfigDataService, ConfigDataService>();
|
|
//services.TryAddSingleton<ICalcRequestService, CalcRequestService>();
|
|
//services.TryAddSingleton<IFileService, FileService>();
|
|
//services.TryAddSingleton<IProdService, ProdService>();
|
|
|
|
|
|
return services;
|
|
}
|
|
}
|
|
}
|