C# asp.net缓存css和脚本,但不缓存页面
在page_Load方法的母版页中,我有以下行:C# asp.net缓存css和脚本,但不缓存页面,c#,asp.net,C#,Asp.net,在page_Load方法的母版页中,我有以下行: Response.Cache.SetCacheability(HttpCacheability.NoCache); 基本上,我不想缓存页面。我确实想缓存.js和.css文件,但当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载 我需要修理什么 谢谢。您需要为静态资源(.js和.css)文件设置缓存。这在默认情况下不启用 有关更多详细信息,请参阅此答案: 还请注意,当您使用F5/Ctrl+F5重新加载页面时,某些浏览器将忽略缓存指令
Response.Cache.SetCacheability(HttpCacheability.NoCache);
基本上,我不想缓存页面。我确实想缓存.js和.css文件,但当我重新加载页面时,这些文件不会从浏览器缓存中加载,而是重新加载
我需要修理什么
谢谢。您需要为静态资源(.js和.css)文件设置缓存。这在默认情况下不启用 有关更多详细信息,请参阅此答案:
还请注意,当您使用F5/Ctrl+F5重新加载页面时,某些浏览器将忽略缓存指令,并且它们将始终获取新内容(例如Firefox和Ctrl+F5)。如果要测试缓存,请通过在位置文本框中重新输入URL来重新加载页面。您需要为静态资源(.js和.css)文件设置缓存。这在默认情况下不启用 有关更多详细信息,请参阅此答案:
还请注意,当您使用F5/Ctrl+F5重新加载页面时,某些浏览器将忽略缓存指令,并且它们将始终获取新内容(例如Firefox和Ctrl+F5)。如果要测试缓存,请通过在位置文本框中重新输入URL来重新加载页面。在html元部分添加这些行
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" content="NO-CACHE">
本文可用于解决您的问题
如果没有帮助的话。您可以像这样使用cheat:-为不应该缓存的元素添加它。
例如:
<link rel=stylesheet href="main.css?<%= ... %>">
在html元部分添加这些行
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" content="NO-CACHE">
本文可用于解决您的问题
如果没有帮助的话。您可以像这样使用cheat:-为不应该缓存的元素添加它。
例如:
<link rel=stylesheet href="main.css?<%= ... %>">
您有apache吗?我已经很久没有做webdev了,不确定它是否与asp兼容。我不认为js和css文件会受到母版页中代码的影响,因为这些文件是静态内容,而不是asp.net动态页面。@allentranks:当我看到Chrome网络选项卡时,我看到唯一从缓存中重新加载的文件是jquery(它是从GoogleCDN加载的)。所有其他文件都是从我的服务器重新加载的。IIS是否为.js和.css文件返回缓存控制:private
响应头?@MichaelLiu:如何检查?您有apache吗?我已经很久没有做webdev了,不确定它是否与asp兼容。我不认为js和css文件会受到母版页中代码的影响,因为这些文件是静态内容,而不是asp.net动态页面。@allentranks:当我看到Chrome网络选项卡时,我看到唯一从缓存中重新加载的文件是jquery(它是从GoogleCDN加载的)。所有其他文件都是从我的服务器重新加载的。IIS是否为.js和.css文件返回缓存控制:private
响应头?@MichaelLiu:如何检查?