2017-07-20 7 views
0

イメージのみをキャッシュできますが、JavascriptおよびCssファイルはキャッシュできません。Asp.Netキャッシュイメージ(ただしjavascriptsはありません)

キャッシュするMIMEタイプを制御するヘッダーはありますか?

さらに詳しい説明を追加します。私は自分のglobal.asax.cs上に次のスニペットを配置しています。私の開発環境ではJavaScriptファイルをキャッシュしないようにしています(または毎回サーバーを再起動する必要があります簡単な変更)。イメージが変わることはめったにないので、方法があるのだろうかと思います。

if (ApplicationConfiguration.IsLocal()) { 
      //do not cache content locally, to make development faster 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1)); 
      Response.Cache.SetNoStore(); 
     } 

おかげ

答えて

0

は終わりではrookie's間違いに転じ:

として、一方で私は、サーバーからの応答が1つだけでありだろうと(誤った)印象を持っていました実際には、各リソースごとに1つずつ存在しました。

したがって、私はちょうど応答上の特定のリソースが必要かどうかを検証するために、余分な条件を作成するために必要かどうかをキャッシュする:このシナリオでは

if (ApplicationConfiguration.IsLocal() && !ShouldCache()) { 
      //do not cache content locally, to make development faster 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1)); 
      Response.Cache.SetNoStore(); 
     } 


private bool ShouldCache() { 
     if (Request.AppRelativeCurrentExecutionFilePath == null) { 
      return false; 
     } 

     return Request.AppRelativeCurrentExecutionFilePath.IndexOf("vendor",StringComparison.CurrentCultureIgnoreCase) !=-1 
       || Request.AppRelativeCurrentExecutionFilePath.IndexOf(".png", StringComparison.CurrentCultureIgnoreCase) != -1 
       || Request.AppRelativeCurrentExecutionFilePath.IndexOf(".jpg", StringComparison.CurrentCultureIgnoreCase) != -1; 
    } 

、私はすべてのイメージのためにとのために有効にキャッシュを保持しました私の「ベンダー」スクリプト(第三者)

関連する問題