28 lines
950 B
C#
28 lines
950 B
C#
using Core.Blueprint.DAL.Redis.Contracts;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Core.Blueprint.DAL.Redis.Configuration
|
|
{
|
|
public static class RedisExtension
|
|
{
|
|
public static IServiceCollection AddRedisLayer(this IServiceCollection services, IConfiguration configuration)
|
|
{
|
|
var source = configuration.GetSection("ConnectionStrings");
|
|
|
|
var redisConnectionString = source["Redis"]?.ToString();
|
|
|
|
if (string.IsNullOrEmpty(redisConnectionString))
|
|
{
|
|
throw new InvalidOperationException("Redis connection string is not configured.");
|
|
}
|
|
|
|
services.AddSingleton<ICacheService>(provider =>
|
|
new CacheService(redisConnectionString, provider.GetRequiredService<ILogger<CacheService>>()));
|
|
|
|
return services;
|
|
}
|
|
}
|
|
}
|