动态CSS缓存问题

本文关键字:问题 缓存 CSS 动态 | 更新日期: 2023-09-27 18:01:30

我正在使用HttpHandler来修改一些CSS(只有简单的颜色),基于我在SO上读到的一种技术。

一切工作都很好,除了在我给用户选择指定他们想要的颜色的页面上。理想情况下,只要用户保存他的新颜色和页面刷新,我希望新的颜色显示。但是,只有当我明确地按下浏览器重新加载或F5键时,它们才会出现。

我很感激某个地方(IIS或浏览器)正在做一些有用的缓存我的样式表,其中999次在1000正是我想要的,但是在这个特定的页面事件,我希望能够强制重新加载并导致HttpHandler触发。

有人明白这是如何工作的,我能做什么?

我尝试过的事情:

    Response.Clear();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Expires = -1;
    Response.Cache.SetExpires(DateTime.Now.AddDays(-1));

因为我也在使用ASP。在样式表链接中添加查询字符串并不是一个简单的选项。

的想法吗?

动态CSS缓存问题

这可以通过我在我的站点上使用的技术来解决,一旦资产发生变化,例如在部署之后,就会重新加载资产。

?value附加到CSS url的末尾,其中value对应于版本,或浏览器尚未看到的一些唯一值。在我的情况下,我使用文件修改时间,但是在您的情况下,由于CSS在几乎每个页面加载上都是动态的,我建议生成一些唯一的值。

由于URL总是不同的,浏览器总是会重新加载它,它永远不会被放入它的缓存