Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Bart van der Drift 8 posts 88 karma points
    Aug 30, 2018 @ 08:44
    Bart van der Drift
    0

    MvcDonutCaching and RedisOutputCacheProvider in Umbraco backend

    I have implemented MvcDonutCaching for caching of the pages of a website, and RedisOutputCacheProvider as the provider for the caching. This all works well for the frontend.

    However, I am having problems in the backend. Whenever I try to publish content for a document type that is marked for caching, I am receiving the following exception:

    Ensure that your custom OutputCacheProvider implements IEnumerable<KeyValuePair<string, object>>.
    

    Stacktrace:

    [NotSupportedException: Ensure that your custom OutputCacheProvider implements IEnumerable<KeyValuePair<string, object>>.]
       DevTrends.MvcDonutCaching.OutputCacheManager.RemoveItems(String controllerName, String actionName, RouteValueDictionary routeValues) in C:\Users\moonpyk\Documents\Visual Studio 2013\Projects\MvcDonutCaching\DevTrends.MvcDonutCaching\OutputCacheManager.cs:144
       DevTrends.MvcDonutCaching.OutputCacheManager.RemoveItems() in C:\Users\moonpyk\Documents\Visual Studio 2013\Projects\MvcDonutCaching\DevTrends.MvcDonutCaching\OutputCacheManager.cs:99
       Supershift.Umbraco.Web.RegisterEvents.ClearDonutOutputCache() in (...)\RegisterEvents.cs:57
       Supershift.Umbraco.Web.RegisterEvents.CachePageEvents_CacheUpdated(PageCacheRefresher sender, CacheRefresherEventArgs e) in (...)\RegisterEvents.cs:51
       Umbraco.Core.Events.TypedEventHandler`2.Invoke(TSender sender, TEventArgs e) +0
       Umbraco.Core.Cache.CacheRefresherBase`1.OnCacheUpdated(TInstanceType sender, CacheRefresherEventArgs args) +49
       Umbraco.Core.Cache.CacheRefresherBase`1.RefreshAll() +74
       Umbraco.Web.Cache.PageCacheRefresher.RefreshAll() +52
       Umbraco.Core.Sync.ServerMessengerBase.DeliverLocal(ICacheRefresher refresher, MessageType messageType, IEnumerable`1 ids, String json) +199
       Umbraco.Core.Sync.ServerMessengerBase.Deliver(IEnumerable`1 servers, ICacheRefresher refresher, MessageType messageType, IEnumerable`1 ids, String json) +80
       Umbraco.Core.Sync.ServerMessengerBase.PerformRefreshAll(IEnumerable`1 servers, ICacheRefresher refresher) +30
       Umbraco.Web.Cache.DistributedCache.RefreshAll(Guid factoryGuid) +216
       Umbraco.Web.Cache.DistributedCacheExtensions.RefreshAllPageCache(DistributedCache dc) +41
       umbraco.cms.presentation.republish.go(Object sender, EventArgs e) +819
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9815774
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +204
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1639
    

    Does anyone have a suggestion for how to solve this? Do I need to catch some event and clear the cache manually?

  • Dale McCutcheon 32 posts 135 karma points
    Mar 02, 2020 @ 11:58
    Dale McCutcheon
    0

    Did you ever manage to get this fixed?

Please Sign in or register to post replies

Write your reply to:

Draft