如何在ASP.NET MVC3中为Release配置而不是Debug调试设置OutputCahce?

时间:2012-09-26 06:21:00

标签: asp.net asp.net-mvc-3 outputcache

我们假设以下代码:

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

3 个答案:

答案 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)

我认为这会对你有帮助......