我的网页使用无缓存机制,不让浏览器缓存内容。但是,我有些疑惑。开发人员没有在MasterPage中的PageLoad方法中插入缓存代码。
就像这样(在母版页上加载页面)
HttpContext.Current.Response.CacheControl = "no-cache"
HttpContext.Current.Response.AddHeader("Pragma", "no-cache")
HttpContext.Current.Response.ExpiresAbsolute = DateTime.Now.Date
HttpContext.Current.Response.Expires = -1
我怀疑这是正确的行动,是否应该更好地插入BasePage OnInit
事件?
答案 0 :(得分:2)
您可以在生成响应之前执行此HTTPHeader。 Check MSDN
Page_init/page_load
或MasterPage/BasePage/ActualPage
参考Disabling browser caching for all browsers from ASP.NET
您也可以在页面指令
中执行此操作<%@ OutputCache Duration="60" VaryByParam="None"%>
即使在Web.config中,您也可以配置
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache30Seconds" duration="30"
varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>