Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1.4 KiB

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<StaticTemplateDefinitionChangedEvent>, ITransientDependency
{
protected IStaticDefinitionCache<TemplateDefinition, Dictionary<string, TemplateDefinition>> DefinitionCache { get; }
protected TextTemplateDynamicInitializer TextTemplateDynamicInitializer { get; }
protected ICancellationTokenProvider CancellationTokenProvider { get; }
public StaticTemplateDefinitionChangedEventHandler(
IStaticDefinitionCache<TemplateDefinition, Dictionary<string, TemplateDefinition>> 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);
}
}