From 0da937029609557ad3b4223e7f6a0b3a78fa8e30 Mon Sep 17 00:00:00 2001 From: flew2bits Date: Fri, 20 Nov 2015 15:20:03 -0500 Subject: [PATCH 1/2] Added signal to invalidate media profile cache when newly published. --- .../Handlers/ImageProfilePartHandler.cs | 16 ++++++++++++++-- .../Services/ImageProfileService.cs | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs index c316aa066..4e1a4129b 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs @@ -1,11 +1,23 @@ -using Orchard.ContentManagement.Handlers; +using Orchard.Caching; +using Orchard.ContentManagement; +using Orchard.ContentManagement.Handlers; using Orchard.Data; using Orchard.MediaProcessing.Models; namespace Orchard.MediaProcessing.Handlers { public class ImageProfilePartHandler : ContentHandler { - public ImageProfilePartHandler(IRepository repository) { + private readonly ISignals _signals; + + public ImageProfilePartHandler(IRepository repository, ISignals signals) + { + _signals = signals; Filters.Add(StorageFilter.For(repository)); } + + protected override void Published(PublishContentContext context) + { + _signals.Trigger("MediaProcessing_Published_" + context.ContentItem.As().Name); + base.Published(context); + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs index 3a3a982fa..995e4df85 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs @@ -33,6 +33,7 @@ namespace Orchard.MediaProcessing.Services { public ImageProfilePart GetImageProfileByName(string name) { var profileId = _cacheManager.Get("ProfileId_" + name, true, ctx => { + ctx.Monitor(_signals.When("MediaProcessing_Published_" + name)); var profile = _contentManager.Query() .Where(x => x.Name == name) .Slice(0, 1) From cbcffb52d09b98b5ed80fcbe130ad552d0fdbcfb Mon Sep 17 00:00:00 2001 From: flew2bits Date: Fri, 20 Nov 2015 15:35:52 -0500 Subject: [PATCH 2/2] Fixed braces --- .../Handlers/ImageProfilePartHandler.cs | 6 ++---- .../Orchard.MediaProcessing/Services/ImageProfileService.cs | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs index 4e1a4129b..0acb5c516 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Handlers/ImageProfilePartHandler.cs @@ -8,14 +8,12 @@ namespace Orchard.MediaProcessing.Handlers { public class ImageProfilePartHandler : ContentHandler { private readonly ISignals _signals; - public ImageProfilePartHandler(IRepository repository, ISignals signals) - { + public ImageProfilePartHandler(IRepository repository, ISignals signals) { _signals = signals; Filters.Add(StorageFilter.For(repository)); } - protected override void Published(PublishContentContext context) - { + protected override void Published(PublishContentContext context) { _signals.Trigger("MediaProcessing_Published_" + context.ContentItem.As().Name); base.Published(context); } diff --git a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs index 995e4df85..cf39edc8d 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaProcessing/Services/ImageProfileService.cs @@ -31,7 +31,6 @@ namespace Orchard.MediaProcessing.Services { } public ImageProfilePart GetImageProfileByName(string name) { - var profileId = _cacheManager.Get("ProfileId_" + name, true, ctx => { ctx.Monitor(_signals.When("MediaProcessing_Published_" + name)); var profile = _contentManager.Query()