仅在生产模式下应用缓存清单

时间:2012-04-12 15:21:22

标签: asp.net-mvc html5 offline-caching

我在我的应用程序中添加了“cache.manifest”(这很好用),从那时起,它很难调试,因为我必须始终清除缓存或修改cache.manifest版本。

我试图用“HttpContext.Current.IsDebuggingEnabled”条件加载清单:

<!DOCTYPE HTML>
  @if (HttpContext.Current.IsDebuggingEnabled)
  {
    <html>
  }
  else
  {
    <html manifest="/cache.manifest">
  }

这不起作用,Visual Studio给了我3个错误:

  • 该块缺少关闭}字符
  • html 元素未关闭
  • 不能超过1个 html 元素。

有没有人有想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

根据“sav931”的答案,我终于找到了解决方案:

<html @(HttpContext.Current.IsDebuggingEnabled ? "" :  "manifest=cache.manifest" )>

无需在web.config中添加应用程序设置键,因为已经有了一个功能。 (HttpContext.Current.IsDebuggingEnabled)

另外,我在开发时完全删除了manfest attribut。

答案 1 :(得分:0)

尝试在web.config中添加密钥,如:

<add key="devMode" value="true"/>

现在将其添加到您的视图中:

<head @(Convert.ToBoolean(System.Web.Configuration.WebConfigurationManager.AppSettings["devMode"]) ? "manifest=/cache.manifest" : "manifest=devMode.manifest")>

通过添加不存在的清单文件名,它将禁用缓存...