我正在构建一个负载非常密集的 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 个不同的详细信息页面。当数据库表中的某些内容发生更改时,我需要索引缓存和所有详细信息页面都将过期。目前缓存正在工作,但没有像我期望的那样过期。
我的问题是
- `OutputCache' 属性中不同参数的相对优先级是什么?
- 我当前的配置应该正常工作吗?
很感谢任何形式的帮助。