ASP.NET MVC 阻止当前请求的视图页面缓存OutputCache

时间:2021-11-22 08:32:50

设置缓存

[OutputCache(Duration =333,VaryByCustom ="Index")]

缓存:

//在action中,临时阻止该次请求的视图页面缓存
Response.Cache.SetNoServerCaching();
//可以使得默认的缓存,在规定过期时间内,除第一次访问外,都是304.
Response.Cache.SetOmitVaryStar(true);

主要防范,循环参数来发起请求时,造成的大量无意义的参数生成的垃圾缓存过多,大量占用内存的情况。

页面缓存也可以设置

VaryByParam ="none"

可以达到目的,但也无法做到根据参数生成不同缓存的

[OutputCache(Duration =333,VaryByParam ="none",VaryByCustom ="Index")]