asp.net 缓存 CSS 和脚本,但不缓存页面

本文关键字:缓存 脚本 net CSS asp | 更新日期: 2023-09-27 18:33:54

在Page_Load方法的母版页中,我有以下行:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

基本上,我不想缓存页面。我确实想缓存.js和.css文件,但是当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载。

我需要修复什么?

谢谢。

asp.net 缓存 CSS 和脚本,但不缓存页面

在 html 元部分添加这些行

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" content="NO-CACHE">

在 ASP 页中

// Stop Caching in IE
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
// Stop Caching in Firefox
Response.Cache.SetNoStore();

本文可用于解决您的问题

http://www.codeproject.com/Articles/11225/Disabling-browser-s-back-functionality-on-sign-out

附言如果它没有帮助。你可以像这样使用作弊:<%= 在这里你应该添加一些随机数,例如 Ticks %> - 为不应该缓存的元素添加它。例如:

<link rel=stylesheet href="main.css?<%= ... %>">

您需要为静态资源(.js 和 .css)文件设置缓存。默认情况下不启用此功能。

有关更多详细信息,请参阅此SO答案:https://stackoverflow.com/a/2196848/69868

另请注意,当您使用 F5/Ctrl+F5 重新加载页面时,某些浏览器将忽略缓存指令,并且它们将始终获取新内容(例如 Firefox 和 Ctrl+F5)。如果要测试缓存,请通过重新输入位置中的 URL 文本框来重新加载页面。