"CacheProfile" in MVC 5
Asked Answered
W

2

8

I am beginner in MVC and I have a project to transform from MVC2 to the latest version of MVC. I read read some books on MVC 4, so I started to understand the main mechanisms.

However, when transforming my MVC 2 solution, I have a problem with an attribute: OutputCache.

By eg. I have multiple Actions like this (the attributes may vary):

[OutputCache(CacheProfile = "ProductImage")]
public ActionResult GetImage(Guid elementId, int imgtype)

in the Web.Config i have in the "caching>outputCacheSettings>outputCacheProfiles>":

<add name="ProductImage" duration="5" varyByParam="elementId,imgtype" />

and obtaining the following exception in output:

OutputCacheAttribute for child actions only supports Duration, VaryByCustom, and VaryByParam values. Please do not set CacheProfile, Location, NoStore, SqlDependency, VaryByContentEncoding, or VaryByHeader values for child actions.

As I understood, the problem appears only with the child actions.

  • Is there another way to have a cache profile in the latest MVC?
  • Is there a way to identify if the action is a child one in order to modify just that action?
Widener answered 17/2, 2014 at 12:44 Comment(0)
W
6

Resolved installing MvcDonutCaching nuget and replacing [OutputCache with [DonutOutputCache...

See more about.

Widener answered 17/2, 2014 at 13:29 Comment(1)
This is a brilliant solution that works and I would recommendStrang
P
0

Please read the answer this question, I believe it answers your question pretty well.

Pavior answered 17/2, 2014 at 13:9 Comment(1)
The solution there didn't work for me and also has some other devs advising against it.Strang

© 2022 - 2024 — McMap. All rights reserved.