【问题标题】:Browser 200 (cached) force reload浏览器 200(缓存)强制重新加载
【发布时间】:2016-09-29 10:38:53
【问题描述】:

我正在开发一个带有 C# 后端 API 的 AngularJs 1.3.7 前端应用程序。最近刚刚将缓存添加到服务器端,这现在引起了头疼。由于 Get 请求在执行一次请求后设置了缓存控制标头,因此浏览器会缓存 API 响应。缓存数据后,在向服务器控制器发出任何 POST/PUT/DELETE 请求后,后端正确地使缓存无效。问题是浏览器(在我的情况下为 Chrome)仅在对同一 URL 发出请求(POST/PUT/DELETE)时才会刷新缓存。


工作示例序列:GET www.bestGames.com/games -> POST www.bestGames.com/games -> GET www.bestGames.com/games(缓存已清除,数据已正确重新更新)。

不工作:GET www.bestGames.com/games -> PUT www.bestGames.com/games/20 -> GET www.bestGames.com/games(不更新缓存,显示旧数据)。

不工作:GET www.bestGames.com/games -> PUT www.bestGames.com/games?id=20 -> GET www.bestGames.com/games(不更新缓存,显示旧数据)。

工作:获取 www.bestGames.com/games -> PUT www.bestGames.com/games -> 获取 www.bestGames.com/games(缓存已清除,数据已正确重新更新)。

那么,除了:

  • 向 GET 请求添加类似“?=random”的内容
  • 向 www.bestGames.com/games 添加额外请求,以清除浏览器缓存。

【问题讨论】:

    标签: c# .net angularjs google-chrome caching


    【解决方案1】:

    也许这个答案可以帮助你。 https://superuser.com/questions/89809/how-to-force-refresh-without-cache-in-google-chrome

    取决于操作系统,但由于您使用的是 C#,所以我假设是 windows。在忽略缓存的情况下尝试 ctrl F5 或 shift F5 以重新加载。

    【讨论】:

    • 我需要更多的编码解决方案。而且我不需要只清除特定 URL 的整个缓存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2015-01-05
    • 2013-04-02
    • 2010-09-12
    相关资源
    最近更新 更多