* Clean up DistributedCache and add additional checks * Add IEnumerable overloads to DistributedCacheExtensions * Update handlers to use new IEnumerable overloads * Move DistributedCacheExtensions to Core * Restructure cache refreshers into folders * Add IDistributedCacheNotificationHandler * Rewrite DistributedCacheBinder into seperate IDistributedCacheNotificationHandler implementations * Obsolete DistributedCacheBinder and use new IDistributedCacheHandler implementations * Clean up ServerMessengerBase * Ensure cache refreshers only process distinct values * Add support for publishing multiple notifications and filter on handler type * Suppress compatibility issues * Remove DistributedCacheBinder and suppress compatibility issues * Add ScopedNotificationPublisher<TNotificationHandler> * Improve notification type lookup/enumeration * Ensure INotificationAsyncHandler handles multiple notitications sequentially * Minimize cache instruction JSON * Chunk notifications by type to keep publish order * Only serialize required RefreshInstruction properties
18 lines
599 B
C#
18 lines
599 B
C#
using Umbraco.Cms.Core.Notifications;
|
|
using Umbraco.Cms.Core.Sync;
|
|
|
|
namespace Umbraco.Cms.Core.Cache;
|
|
|
|
/// <summary>
|
|
/// Factory for creating cache refresher notification instances
|
|
/// </summary>
|
|
public interface ICacheRefresherNotificationFactory
|
|
{
|
|
/// <summary>
|
|
/// Creates a <see cref="CacheRefresherNotification" />
|
|
/// </summary>
|
|
/// <typeparam name="TNotification">The <see cref="CacheRefresherNotification" /> to create</typeparam>
|
|
TNotification Create<TNotification>(object msgObject, MessageType type)
|
|
where TNotification : CacheRefresherNotification;
|
|
}
|