1

让我们假设以下代码:

[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。

4

3 回答 3

3

对于属性,您可以只使用预处理器指令

#if !DEBUG
[OutputCache(Duration=60,VaryByCustom="Browser")]
#endif
public ActionResult CachableAction(string SomeParameter)
{
   return View();
}
于 2012-09-26T06:34:21.453 回答
2

web.config.debug 文件仅在构建部署包时使用。例如,如果您在 Cassini 中本地运行您的站点,它将被完全忽略。因此,您可以尝试在 web.config 中禁用缓存:

<caching>
    <outputCache enableOutputCache="false" />
</caching>

并在您的 web.config.release 中启用缓存。请注意,如果您不使用 Web 部署包功能,这些文件将被完全忽略。

于 2012-09-26T06:35:08.490 回答
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)

我想这会帮助你...

于 2012-09-26T06:29:39.100 回答