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

问题描述 投票:1回答:2

我在应用程序中添加了一个“ cache.manifest”(运行良好),此后,由于必须始终清除缓存或修改cache.manifest版本,因此很难调试。

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

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

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

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

有人有主意吗?

谢谢 !

asp.net-mvc html5 offline-caching
2个回答
1
投票

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

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

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

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


0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.