all*_*lan 4 asp.net asp.net-mvc asp.net-mvc-3
假设我有一个类似的页面请求
有时它会像:
由于产品项目不会经常更改,因此我希望将特定产品ID的每个页面缓存一小时.
因此,对于第一个请求,将对产品id = 234缓存页面,并在一小时内对产品id = 234的后续请求将从缓存中检索.产品id = 234经过1小时后的下一个请求,将从服务器检索新页面而不是从缓存中检索.等等.
我该怎么做?
看看VaryByParam.
例如:
<%@ OutputCache Duration="3600" VaryByParam="id" %>
Run Code Online (Sandbox Code Playgroud)
注意:正如Oenning所证明的那样,正确地在MVC(而不是Web窗体)中执行此操作的正确方法是通过归因于操作.
Ofer Zelig的回答是正确的,但是当您使用MVC时,添加OutputCache配置的正确位置就在操作中.
[OutputCache(Duration=3600, VaryByParam="id")]
public ActionResult Products(int id)
{
//
return View();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1147 次 |
| 最近记录: |