using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.EventBus; using Volo.Abp.StaticDefinitions; using Volo.Abp.TextTemplating; using Volo.Abp.Threading; namespace Volo.Abp.TextTemplateManagement; public class StaticTemplateDefinitionChangedEventHandler : ILocalEventHandler, ITransientDependency { protected IStaticDefinitionCache> DefinitionCache { get; } protected TextTemplateDynamicInitializer TextTemplateDynamicInitializer { get; } protected ICancellationTokenProvider CancellationTokenProvider { get; } public StaticTemplateDefinitionChangedEventHandler( IStaticDefinitionCache> definitionCache, TextTemplateDynamicInitializer textTemplateDynamicInitializer, ICancellationTokenProvider cancellationTokenProvider) { DefinitionCache = definitionCache; TextTemplateDynamicInitializer = textTemplateDynamicInitializer; CancellationTokenProvider = cancellationTokenProvider; } public virtual async Task HandleEventAsync(StaticTemplateDefinitionChangedEvent eventData) { await DefinitionCache.ClearAsync(); await TextTemplateDynamicInitializer.InitializeAsync(false, CancellationTokenProvider.Token); } }