diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs index 8371f1be24..85be669593 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs @@ -1,14 +1,4 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Polly; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Localization.External; -using Volo.Abp.Localization.Resources.AbpLocalization; +using Volo.Abp.Localization.Resources.AbpLocalization; using Volo.Abp.Modularity; using Volo.Abp.Settings; using Volo.Abp.Threading; @@ -24,8 +14,6 @@ namespace Volo.Abp.Localization; )] public class AbpLocalizationModule : AbpModule { - private readonly CancellationTokenSource _cancellationTokenSource = new(); - public override void ConfigureServices(ServiceConfigurationContext context) { AbpStringLocalizerFactory.Replace(context.Services); @@ -47,75 +35,4 @@ public class AbpLocalizationModule : AbpModule .AddVirtualJson("/Localization/Resources/AbpLocalization"); }); } - - public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context) - { - await SaveLocalizationsAsync(context); - } - - public override Task OnApplicationShutdownAsync(ApplicationShutdownContext context) - { - _cancellationTokenSource.Cancel(); - return Task.CompletedTask; - } - - private async Task SaveLocalizationsAsync(ApplicationInitializationContext context) - { - var options = context - .ServiceProvider - .GetRequiredService>() - .Value; - - if (!options.SaveToExternalStore) - { - return; - } - - var rootServiceProvider = context.ServiceProvider.GetRequiredService(); - - Task.Run(async () => - { - using var scope = rootServiceProvider.CreateScope(); - var applicationLifetime = scope.ServiceProvider.GetService(); - var cancellationTokenProvider = scope.ServiceProvider.GetRequiredService(); - var cancellationToken = applicationLifetime?.ApplicationStopping ?? _cancellationTokenSource.Token; - - try - { - using (cancellationTokenProvider.Use(cancellationToken)) - { - if (cancellationTokenProvider.Token.IsCancellationRequested) - { - return; - } - - await Policy - .Handle() - .WaitAndRetryAsync(8, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt) * 10)) - .ExecuteAsync(async _ => - { - try - { - // ReSharper disable once AccessToDisposedClosure - await scope - .ServiceProvider - .GetRequiredService() - .SaveAsync(); - } - catch (Exception ex) - { - // ReSharper disable once AccessToDisposedClosure - scope.ServiceProvider - .GetService>()? - .LogException(ex); - - throw; // Polly will catch it - } - }, cancellationTokenProvider.Token); - } - } - // ReSharper disable once EmptyGeneralCatchClause (No need to log since it is logged above) - catch { } - }); - } } diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs index d863024721..fa03a6bbff 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs @@ -5,8 +5,6 @@ namespace Volo.Abp.Localization.External; public interface IExternalLocalizationStore { - Task SaveAsync(); - [CanBeNull] LocalizationResourceBase GetResourceOrNull([NotNull] string resourceName); diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs index bdbac6ddb9..0c55919db2 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs @@ -6,11 +6,6 @@ namespace Volo.Abp.Localization.External; public class NullExternalLocalizationStore : IExternalLocalizationStore, ISingletonDependency { - public Task SaveAsync() - { - return Task.CompletedTask; - } - public LocalizationResourceBase GetResourceOrNull(string resourceName) { return null;