加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.NET核心rc2中禁用浏览器缓存?

发布时间:2020-12-15 23:57:33 所属栏目:asp.Net 来源:网络整理
导读:我尝试过这个中间件,但浏览器仍在保存文件. 我希望用户将始终获得js和css文件的最新版本. public void Configure(IApplicationBuilder app){ app.UseSession(); app.UseDefaultFiles(); app.UseStaticFiles(new StaticFileOptions { OnPrepareResponse = con
我尝试过这个中间件,但浏览器仍在保存文件.

我希望用户将始终获得js和css文件的最新版本.

public void Configure(IApplicationBuilder app)
{
    app.UseSession();
    app.UseDefaultFiles();
    app.UseStaticFiles(new StaticFileOptions
    {
        OnPrepareResponse = context =>
            context.Context.Response.Headers.Add("Cache-Control","no-cache")
    });
}

解决方法

尝试添加Expires标头:
app.UseStaticFiles(new StaticFileOptions()
{
    OnPrepareResponse = context =>
    {
        context.Context.Response.Headers.Add("Cache-Control","no-cache,no-store");
        context.Context.Response.Headers.Add("Expires","-1");
    }
});

另一种方法是添加一个查询字符串,该查询字符串会在开发过程中更改为请求的结尾.在这种情况下不需要中间件.

<environment names="Development">
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css?@DateTime.Now.Ticks" />
    <link rel="stylesheet" href="~/css/site.css?@DateTime.Now.Ticks" />
</environment>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读