我们假设以下代码:
[OutputCache(Duration=60,VaryByCustom="Browser")]
public ActionResult CachableAction(string SomeParameter)
{
return View();
}
我知道Output caching lets you store the output of an action method in memory on the Web server. For example, if the action method renders a view, the view page will be cached.
我不想在调试配置中缓存我的页面。
仅在Release
配置不 Debug
中应用缓存需要哪些设置?
我正在使用VS2010。
答案 0 :(得分:3)
对于属性,您可以选择使用预处理程序指令
#if !DEBUG
[OutputCache(Duration=60,VaryByCustom="Browser")]
#endif
public ActionResult CachableAction(string SomeParameter)
{
return View();
}
答案 1 :(得分:2)
仅在构建部署包时使用web.config.debug文件。例如,如果您在Cassini中本地运行您的站点,则会完全忽略它。因此,您可以尝试在web.config中禁用缓存:
<caching>
<outputCache enableOutputCache="false" />
</caching>
并在您的web.config.release中启用缓存。请注意,如果您不使用Web部署包功能,则会完全忽略这些文件。
答案 2 :(得分:0)
这是我在我的测试项目中所做的 在我的控制器中,我在下面这样做
[OutputCache(Duration = 10, VaryByParam = "ParamA;ParamB;")]
public PartialViewResult CachData(string someparameter)
{
string returnvalue = string.Format("parameter :{0} date : {1}", someparameter, DateTime.Now.ToString());
return PartialView("CachData", returnvalue);
}
在我看来
@model string
<p>
This is my cach Action</p>
@Html.Raw(Model)
我认为这会对你有帮助......