Removes RefreshByJson and changes macro cache refreshing to use objects
This commit is contained in:
@@ -101,19 +101,6 @@ namespace Umbraco.Web.Cache
|
||||
GetRefresherById(refresherGuid),
|
||||
payloads.ToArray());
|
||||
}
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresherGuid">The unique identifier of the ICacheRefresher.</param>
|
||||
/// <param name="jsonPayload">The notification content.</param>
|
||||
public void RefreshByJson(Guid refresherGuid, string jsonPayload)
|
||||
{
|
||||
if (refresherGuid == Guid.Empty || jsonPayload.IsNullOrWhiteSpace()) return;
|
||||
|
||||
_serverMessenger.PerformRefresh(
|
||||
GetRefresherById(refresherGuid),
|
||||
jsonPayload);
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
|
||||
@@ -11,8 +11,6 @@ using static Umbraco.Web.Cache.LanguageCacheRefresher.JsonPayload;
|
||||
namespace Umbraco.Web.Cache
|
||||
{
|
||||
public sealed class LanguageCacheRefresher : PayloadCacheRefresherBase<LanguageCacheRefresher, LanguageCacheRefresher.JsonPayload>
|
||||
|
||||
//CacheRefresherBase<LanguageCacheRefresher>
|
||||
{
|
||||
public LanguageCacheRefresher(AppCaches appCaches, IJsonSerializer serializer, IPublishedSnapshotService publishedSnapshotService)
|
||||
: base(appCaches, serializer)
|
||||
|
||||
@@ -70,15 +70,6 @@ namespace Umbraco.Web.Cache
|
||||
public int Id { get; }
|
||||
}
|
||||
|
||||
// private JsonPayload[] Deserialize(string json)
|
||||
// {
|
||||
// return _jsonSerializer.Deserialize<JsonPayload[]>(json);
|
||||
// }
|
||||
//
|
||||
// private string Serialize(params IMemberGroup[] groups)
|
||||
// {
|
||||
// return _jsonSerializer.Serialize(groups.Select(x => new JsonPayload(x.Id, x.Name)).ToArray());
|
||||
// }
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -17,13 +17,6 @@ namespace Umbraco.Core.Sync
|
||||
/// <param name="payload">The notification content.</param>
|
||||
void PerformRefresh<TPayload>(ICacheRefresher refresher, TPayload[] payload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
/// <param name="refresher">The ICacheRefresher.</param>
|
||||
/// <param name="jsonPayload">The notification content.</param>
|
||||
void PerformRefresh(ICacheRefresher refresher, string jsonPayload);
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the distributed cache of specified item invalidation, for a specified <see cref="ICacheRefresher"/>.
|
||||
/// </summary>
|
||||
|
||||
@@ -104,10 +104,10 @@ namespace Umbraco.Web.Cache
|
||||
() => FileService.DeletedTemplate -= FileService_DeletedTemplate);
|
||||
|
||||
// bind to macro events
|
||||
Bind(() => MacroService.Saved += (sender, e) => MacroService_Saved(sender, e),
|
||||
() => MacroService.Saved -= (sender, e) => MacroService_Saved(sender, e));
|
||||
Bind(() => MacroService.Deleted += (sender, e) => MacroService_Deleted(sender, e),
|
||||
() => MacroService.Deleted -= (sender, e) => MacroService_Deleted(sender, e));
|
||||
Bind(() => MacroService.Saved += MacroService_Saved,
|
||||
() => MacroService.Saved -= MacroService_Saved);
|
||||
Bind(() => MacroService.Deleted += MacroService_Deleted,
|
||||
() => MacroService.Deleted -= MacroService_Deleted);
|
||||
|
||||
// bind to member events
|
||||
Bind(() => MemberService.Saved += MemberService_Saved,
|
||||
@@ -389,18 +389,16 @@ namespace Umbraco.Web.Cache
|
||||
|
||||
#region MacroService
|
||||
|
||||
private MacroCacheRefresher MacroCacheRefresher => _cacheRefresherCollection[MacroCacheRefresher.UniqueId] as MacroCacheRefresher;
|
||||
|
||||
private void MacroService_Deleted(IMacroService sender, DeleteEventArgs<IMacro> e)
|
||||
{
|
||||
foreach (var entity in e.DeletedEntities)
|
||||
_distributedCache.RemoveMacroCache(MacroCacheRefresher, entity);
|
||||
_distributedCache.RemoveMacroCache(entity);
|
||||
}
|
||||
|
||||
private void MacroService_Saved(IMacroService sender, SaveEventArgs<IMacro> e)
|
||||
{
|
||||
foreach (var entity in e.SavedEntities)
|
||||
_distributedCache.RefreshMacroCache(MacroCacheRefresher, entity);
|
||||
_distributedCache.RefreshMacroCache(entity);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -192,16 +192,18 @@ namespace Umbraco.Web.Cache
|
||||
|
||||
#region MacroCache
|
||||
|
||||
public static void RefreshMacroCache(this DistributedCache dc, MacroCacheRefresher macroCacheRefresher, IMacro macro)
|
||||
public static void RefreshMacroCache(this DistributedCache dc, IMacro macro)
|
||||
{
|
||||
if (macro == null) return;
|
||||
dc.RefreshByJson(macroCacheRefresher.RefresherUniqueId, macroCacheRefresher.Serialize(new MacroCacheRefresher.JsonPayload(macro.Id, macro.Alias)));
|
||||
var payloads = new[] { new MacroCacheRefresher.JsonPayload(macro.Id, macro.Alias) };
|
||||
dc.RefreshByPayload(MacroCacheRefresher.UniqueId, payloads);
|
||||
}
|
||||
|
||||
public static void RemoveMacroCache(this DistributedCache dc, MacroCacheRefresher macroCacheRefresher, IMacro macro)
|
||||
public static void RemoveMacroCache(this DistributedCache dc, IMacro macro)
|
||||
{
|
||||
if (macro == null) return;
|
||||
dc.RefreshByJson(macroCacheRefresher.RefresherUniqueId, macroCacheRefresher.Serialize(new MacroCacheRefresher.JsonPayload(macro.Id, macro.Alias)));
|
||||
var payloads = new[] { new MacroCacheRefresher.JsonPayload(macro.Id, macro.Alias) };
|
||||
dc.RefreshByPayload(MacroCacheRefresher.UniqueId, payloads);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user