can you use output caching in asp.net-mvc based on

2019-07-02 12:50发布

i want to use output caching to avoid hitting my db over and over with the same static query but my controllers have parameters that uniquely define the post.

How can i factor in my parameters and still support output caching in asp.net-mvc?

1条回答
够拽才男人
2楼-- · 2019-07-02 13:31

Check out the VaryByParam property of the OutputCache attribute.

[OutputCache(Duration=int.MaxValue, VaryByParam="id")]
public ActionResult Details(int id)
{
}

For each unique id value, a unique cache instance will be created.

Edit:

If your caching needs go beyond simple VaryByParam scenarios then take a look at VaryByCustom. This will allow you to setup the scenarios as you see fit (cached version for logged in vs. not logged in user, etc. etc.)

查看更多
登录 后发表回答