2017-10-05 3 views
0

のdefault.htmに私はこのようなリンクつまり、私は単一のページのWebアプリを持っていると私は、スクリプトやニーズをAPP他のリソースをバストキャッシュするためにバージョン管理を使用します。asp.netコア2静的ファイルキャッシュの破損の既定のドキュメントdefault.html?

<script src="js/index.js?plv=1.1"></script> 

これはうまく動作します、しかし、問題は私がdefault.htmページ自体がブラウザによってキャッシュされているので、新しいdefault.htmを読み込まないため、更新がトリガーされません。

「ホーム」ページは、app.UseDefaultFiles()ミドルウェアによって処理されています。

この問題を解決するには、私が公開したすべてのコードの更新時に、index.htmとdefault.htmをデフォルトのドキュメントとして置き換えて、別の名前に変更しますUseDefaultFilesミドルウェアによって取得されます。

これは手動の手順ですが、確かに私はある時点でそれを行うことを忘れてしまいます。

どうすればこのような状況に対処できますか?

答えて

0

ソリューションは、振り返ってみると明らかにした、ホームページには、全くそれをキャッシュする理由光ではありません:

app.UseStaticFiles(new StaticFileOptions 
      { 
       OnPrepareResponse = context => 
       {     
        if (context.File.Name == "default.htm") { 
         context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store"); 
         context.Context.Response.Headers.Add("Expires", "-1"); 
        } 
       } 
      }); 
関連する問題