2017-10-05 76 views
0

我有一个单页的Web应用程序,我使用版本缓存胸围脚本和应用程序需要的其他资源,即在Default.htm中我链接是这样的:asp.net核心2静态文件缓存清除默认文件default.html?

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

这工作得很好,但是我的问题碰到的是,default.htm页面本身被浏览器缓存,因此它不会读取新的default.htm,并且不会触发更新。

“home”页面由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"); 
        } 
       } 
      });