您可以根据控制器操作的参数在asp.net-mvc中使用输出缓存吗

本文关键字:net-mvc asp 缓存 输出 参数 控制器 操作 | 更新日期: 2023-09-27 17:59:00

我想使用输出缓存来避免用同一个静态查询一次又一次地访问我的数据库,但我的控制器有唯一定义post的参数。

如何在asp.net-mvc中考虑参数并仍然支持输出缓存?

您可以根据控制器操作的参数在asp.net-mvc中使用输出缓存吗

检查OutputCache属性的VaryByParam属性。

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

对于每个唯一的id值,将创建一个唯一的缓存实例。

编辑:

如果您的缓存需求超出了简单的VaryByParam场景,那么请查看VaryByCustom。这将允许您根据需要设置场景(已登录用户与未登录用户的缓存版本等)