From 5d1510083e11092f153e54d99f5ee9bfe6f8dab9 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Sun, 3 Dec 2023 10:27:33 -0500 Subject: [PATCH] invalidate client assemblies cache when site is updated --- .../EventSubscribers/CacheInvalidationEventSubscriber.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Oqtane.Server/Infrastructure/EventSubscribers/CacheInvalidationEventSubscriber.cs b/Oqtane.Server/Infrastructure/EventSubscribers/CacheInvalidationEventSubscriber.cs index 41dab17d..5bf1fd14 100644 --- a/Oqtane.Server/Infrastructure/EventSubscribers/CacheInvalidationEventSubscriber.cs +++ b/Oqtane.Server/Infrastructure/EventSubscribers/CacheInvalidationEventSubscriber.cs @@ -15,10 +15,18 @@ namespace Oqtane.Infrastructure.EventSubscribers public void EntityChanged(SyncEvent syncEvent) { + // when site entities change (ie. site, pages, modules, etc...) a site refresh event is raised and the site cache item needs to be refreshed if (syncEvent.EntityName == EntityNames.Site && syncEvent.Action == SyncEventActions.Refresh) { _cache.Remove($"site:{syncEvent.TenantId}:{syncEvent.EntityId}"); } + + // when a site entity is updated the hosting model may have changed, so the client assemblies cache items need to be refreshed + if (syncEvent.EntityName == EntityNames.Site && syncEvent.Action == SyncEventActions.Update) + { + _cache.Remove($"assemblieslist:{syncEvent.TenantId}:{syncEvent.EntityId}"); + _cache.Remove($"assemblies:{syncEvent.TenantId}:{syncEvent.EntityId}"); + } } } }