1

アプリケーションに「cache.manifest」を追加しました(これは完全に機能します)。それ以降、常にキャッシュをクリアするか、cache.manifestバージョンを変更する必要があるため、デバッグが非常に困難です。

「HttpContext.Current.IsDebuggingEnabled」条件でマニフェストをロードしようとしました。

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

これは機能せず、VisualStudioで3つのエラーが発生します。

  • ブロックに終了}文字がありません
  • html要素が閉じられていません
  • 1つ以上のhtml要素を持つことはできません。

誰かアイデアがありますか?

ありがとう !

4

2 に答える 2

1

「sav931」からの回答に基づいて、私は最終的に解決策を見つけました:

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

そのための関数がすでにあるので、web.configにアプリ設定キーを追加する必要はありません。(HttpContext.Current.IsDebuggingEnabled)

また、開発時にマンフェストの属性を完全に削除しました。

于 2012-05-03T20:08:37.673 に答える
0

次のように、web.configにキーを追加してみてください。

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

次に、これをビューに追加します。

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

存在しないマニフェストファイル名を追加すると、キャッシュが無効になります...

于 2012-05-02T15:19:49.673 に答える