private void UnpublishedPageCacheRefresher_CacheUpdated(UnpublishedPageCacheRefresher sender, CacheRefresherEventArgs e) { if (e.MessageType == MessageType.RemoveByInstance && e.MessageObject is IContent instance) { GuidToIdCache.TryRemove(instance); } }
/// <summary> /// Handles index management for all unpublished content events - basically handling saving/copying/deleting /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks> /// This will execute on all servers taking part in load balancing /// </remarks> static void UnpublishedPageCacheRefresherCacheUpdated(UnpublishedPageCacheRefresher sender, CacheRefresherEventArgs e) { if (Suspendable.ExamineEvents.CanIndex == false) { return; } switch (e.MessageType) { case MessageType.RefreshById: var c1 = ApplicationContext.Current.Services.ContentService.GetById((int)e.MessageObject); if (c1 != null) { ReIndexForContent(c1, false); } break; case MessageType.RemoveById: // This is triggered when the item is permanently deleted DeleteIndexForEntity((int)e.MessageObject, false); break; case MessageType.RefreshByInstance: var c3 = e.MessageObject as IContent; if (c3 != null) { ReIndexForContent(c3, false); } break; case MessageType.RemoveByInstance: // This is triggered when the item is permanently deleted var c4 = e.MessageObject as IContent; if (c4 != null) { DeleteIndexForEntity(c4.Id, false); } break; case MessageType.RefreshByJson: var jsonPayloads = UnpublishedPageCacheRefresher.DeserializeFromJsonPayload((string)e.MessageObject); if (jsonPayloads.Any()) { foreach (var payload in jsonPayloads) { switch (payload.Operation) { case UnpublishedPageCacheRefresher.OperationType.Deleted: //permanently remove from all indexes DeleteIndexForEntity(payload.Id, false); break; default: throw new ArgumentOutOfRangeException(); } } } break; case MessageType.RefreshAll: default: //We don't support these, these message types will not fire for unpublished content break; } }
private void UnpublishedPageCacheRefresherOnCacheUpdated(UnpublishedPageCacheRefresher sender, CacheRefresherEventArgs cacheRefresherEventArgs) { ClearCache(); }
private void UnpublishedPageCacheRefresherOnCacheUpdated(UnpublishedPageCacheRefresher sender, CacheRefresherEventArgs cacheRefresherEventArgs) { _logService.Debug <ClearDonutOutputCache>("UnpublishedPageCacheRefresherOnCacheUpdated"); ClearCache(); }
private void UnpublishedPageCacheRefresherOnCacheUpdated(UnpublishedPageCacheRefresher sender, CacheRefresherEventArgs cacheRefresherEventArgs) { Log.Debug("Clearing output cache"); ClearCache(); }