* 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
14 lines
436 B
C#
14 lines
436 B
C#
namespace Umbraco.Cms.Core.Cache;
|
|
|
|
/// <summary>
|
|
/// A cache refresher that supports refreshing cache based on a custom payload
|
|
/// </summary>
|
|
public interface IPayloadCacheRefresher<TPayload> : IJsonCacheRefresher
|
|
{
|
|
/// <summary>
|
|
/// Refreshes, clears, etc... any cache based on the information provided in the payload
|
|
/// </summary>
|
|
/// <param name="payloads"></param>
|
|
void Refresh(TPayload[] payloads);
|
|
}
|