Seyounth.Auto.Hs/share/Syc.Abp.Caching/SycAbpCachingModule.cs
2025-06-16 17:24:23 +08:00

32 lines
1.2 KiB
C#

using Microsoft.Extensions.Caching.StackExchangeRedis;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using StackExchange.Redis;
using Syc.Abp.Caching.Redis;
using Volo.Abp.Caching;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Modularity;
using Volo.Abp.Threading;
namespace Syc.Abp.Caching
{
[DependsOn(typeof(AbpCachingStackExchangeRedisModule))]
public class SycAbpCachingModule:AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
base.ConfigureServices(context);
var configuration = context.Services.GetConfiguration();
var redisConfiguration = configuration["Redis:Configuration"];
var configurationOptions = context.Services.ExecutePreConfiguredActions<ConfigurationOptions>();
RedisConfigurator.Configure(redisConfiguration);
Configure<RedisCacheOptions>(opt =>
{
opt.ConfigurationOptions = configurationOptions;
opt.ConnectionMultiplexerFactory = async () => RedisConnectionManage.Instance;
});
context.Services.AddTransient<ICacheProvide, RedisCacheProvide>();
}
}
}