ASP.net MVC输出缓存参数优先级-持续时间vs SQLDependency

本文关键字:持续时间 vs SQLDependency 优先级 参数 net MVC 输出 缓存 ASP | 更新日期: 2023-09-27 18:06:12

我正在构建一个负载非常密集的ASP.net MVC 4系统,并希望在两个关键页面上使用OutputCache属性。OutputCache在使页面非常快速方面具有预期的效果,但我需要能够控制它们何时过期,因为数据中的更改必须及时反映在网站上。

这里是我的代码的一个例子-我试图缓存页面10分钟或直到数据库表的变化。我已经得到了SQLDependency工作正常。
[OutputCache(Duration = 600, SqlDependency = "myDb:myTable")]
public ActionResult Index()
{
    // Do Stuff                     
    return View();
}
[OutputCache(Duration = 600, SqlDependency = "myDb:myTable", VaryByParam = "id")]
public ActionResult Details(int id)
{
    // Do Stuff                     
    return View();
}

有54个不同的细节页面。当数据库表中的某些内容发生变化时,我需要索引和所有详细信息页面的缓存过期。当前缓存正在工作,但没有按我期望的方式过期。

我的问题是

  1. ' OutputCache'属性中不同参数的相对优先级是什么?
  2. 我当前的配置工作正确吗?

ASP.net MVC输出缓存参数优先级-持续时间vs SQLDependency

请看下面的链接:

SQL Cache Dependency

请注意您的IIS用户权限:

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "TESTSERVER'ASPNET"