在DEBUG或Debugger下运行时,在MVC3中禁用OutputCaching?

Sha*_*uth 17 asp.net-mvc-3

我正在尝试在调试时禁用MVC3应用程序中的输出缓存.我在控制器中指定输出缓存(通过属性),但不想在我的代码中使用#if DEBUG.我希望这可行:

// In Web.config.debug
  <system.web>
    <caching>
      <outputCache enableOutputCache="false"
                   xdt:Transform="Replace" />
    </caching>
Run Code Online (Sandbox Code Playgroud)

但这似乎被忽略了.任何其他想法如何在没有令人讨厌的global.asax代码或#if DEBUGs的情况下在系统范围内完成它?

Dar*_*rov 32

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

<system.web>
    <caching>
        <outputCache enableOutputCache="false" />
    </caching>
</system.web>
Run Code Online (Sandbox Code Playgroud)

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

  • 这个配置似乎不适用于IIS Express 8 :(.为什么会这样? (2认同)