From 1c5905d12ad66423a35b7fba7fb704c7b00db7ff Mon Sep 17 00:00:00 2001 From: Hanpaopao <510423039@qq.com> Date: Fri, 20 Dec 2024 11:24:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0redis=E5=88=86?= =?UTF-8?q?=E5=B8=83=E5=BC=8F=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aspnet-core/Directory.Build.Volo.targets | 1 + aspnet-core/Directory.Build.targets | 5 +++++ .../AbpProHttpApiHostModule.Configure.cs | 19 ++++++++++++++++++- .../AbpProHttpApiHostModule.cs | 6 +++++- .../Lion.AbpPro.HttpApi.Host.csproj | 2 ++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/aspnet-core/Directory.Build.Volo.targets b/aspnet-core/Directory.Build.Volo.targets index 3481397d..c6402aca 100644 --- a/aspnet-core/Directory.Build.Volo.targets +++ b/aspnet-core/Directory.Build.Volo.targets @@ -89,5 +89,6 @@ + \ No newline at end of file diff --git a/aspnet-core/Directory.Build.targets b/aspnet-core/Directory.Build.targets index 59a9319c..ae0079a1 100644 --- a/aspnet-core/Directory.Build.targets +++ b/aspnet-core/Directory.Build.targets @@ -91,5 +91,10 @@ + + + + + \ No newline at end of file diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.Configure.cs b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.Configure.cs index 88144d95..5b3d91df 100644 --- a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.Configure.cs +++ b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.Configure.cs @@ -1,4 +1,7 @@ -namespace Lion.AbpPro; +using Medallion.Threading; +using Medallion.Threading.Redis; + +namespace Lion.AbpPro; public partial class AbpProHttpApiHostModule { @@ -270,4 +273,18 @@ public partial class AbpProHttpApiHostModule { Configure(options => { options.IsEnabled = MultiTenancyConsts.IsEnabled; }); } + + /// + /// 配置redis分布式锁 + /// + private void ConfigurationDistributedLocking(ServiceConfigurationContext context) + { + var configuration = context.Services.GetConfiguration(); + var connectionString = configuration.GetValue("Redis:Configuration"); + context.Services.AddSingleton(sp => + { + var connection = ConnectionMultiplexer.Connect(connectionString); + return new RedisDistributedSynchronizationProvider(connection.GetDatabase()); + }); + } } \ No newline at end of file diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs index 505778a7..fcffb305 100644 --- a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs +++ b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/AbpProHttpApiHostModule.cs @@ -1,3 +1,5 @@ +using Volo.Abp.DistributedLocking; + namespace Lion.AbpPro { [DependsOn( @@ -12,7 +14,8 @@ namespace Lion.AbpPro typeof(AbpProCapModule), typeof(AbpProCapEntityFrameworkCoreModule), typeof(AbpAspNetCoreMvcUiBasicThemeModule), - typeof(AbpCachingStackExchangeRedisModule) + typeof(AbpCachingStackExchangeRedisModule), + typeof(AbpDistributedLockingModule) //typeof(AbpBackgroundJobsHangfireModule) )] public partial class AbpProHttpApiHostModule : AbpModule @@ -28,6 +31,7 @@ namespace Lion.AbpPro { var configuration = context.Services.GetConfiguration(); ConfigureCache(context); + ConfigurationDistributedLocking(context); ConfigureSwaggerServices(context); ConfigureJwtAuthentication(context, configuration); //ConfigureHangfire(context); diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj index f485e538..3802047e 100644 --- a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj +++ b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Lion.AbpPro.HttpApi.Host.csproj @@ -40,6 +40,8 @@ + +