ASP.net MVC OutputCache参数priority - Duration vs SQLDependency

时间:2013-03-28 11:24:05

标签: c# asp.net-mvc outputcache sqldependency

我正在构建一个负载密集且需要在两个关键页面上使用OutputCache属性的ASP.net MVC 4系统。 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. 我当前的配置是否应该正常工作?
  3. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

请看以下链接:

SQL Cache Dependency

请注意以下IIS用户权限:

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "TESTSERVER\ASPNET"