在调试或调试器下运行时禁用MVC 3中的输出缓存?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (61)

在调试时,我试图在MVC 3应用程序中禁用输出缓存。我在控制器中指定输出缓存(通过属性),但不希望在我的代码中指定#(如果调试的话)。我希望这能奏效:

// In Web.config.debug
  <system.web>
    <caching>
      <outputCache enableOutputCache="false"
                   xdt:Transform="Replace" />
    </caching>

但是这似乎被忽略了。还有其他的想法,如何在没有讨厌的global.asax代码或#if DEBUGS无处不在的情况下,在系统范围内实现它呢?

提问于
用户回答回答于

web.config.debug文件仅在构建部署包时使用。所以你可以尝试在你的下面禁用缓存web.config

<system.web>
    <caching>
        <outputCache enableOutputCache="false" />
    </caching>
</system.web>

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

用户回答回答于

我会认为这也会起作用。你可能还想尝试将enableFragmentCache设置为false。通过此链接

EnableFragmentCache属性设置为false,无论服务器上是否存在@ OutputCache指令或页面使用的缓存配置文件中的设置,都不会缓存页面。有关更多信息,请参见OutputCacheSettingsSection和OutputCacheProfile。

扫码关注云+社区

领取腾讯云代金券