asp禁止緩存
『壹』 ASP 清除緩存 為什麼要設置Response.Buffer = True
首先你要搞清楚,所謂的緩存究竟是指伺服器的緩存還是客戶端(也就是瀏覽器)的緩存。Response.Buffer指的是伺服器的緩存,要清除緩存,必須在緩存打開的情況下才能執行的,如果伺服器沒有啟用緩存處理(即Response.Buffer=False),則所有輸出動作都是直接發送給客戶端的,就不存在清除問題了。而你題目中的最後四行代碼則是關於瀏覽器緩存的,即不把頁面保存到瀏覽器的緩存文件夾中。
我估計你是把伺服器的緩存與瀏覽器的緩存想成同一個東西了。
『貳』 怎樣才能使ASP中完全不緩存頁面
1、在Asp頁面首部加入
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
2、在HtML代碼中加入
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
3、在重新調用原頁面的時候在給頁面傳一個參數
Href="****.asp?a" a為一個隨即數,產生這個隨即數使瀏覽器認為他們是不同的頁面
『叄』 ASP.NET幾種清除頁面緩存的方法
在asp.net中使用模式dialog時,你會發現每次打開的頁面都是相同的內容,頁面內容並沒有刷新,這是緩存的原因造成的,
解決方法如下:
第一種是ASP.NET清除頁面緩存
Response.Buffer
=
true;
Response.ExpiresAbsolute
=
System.DateTime.Now.AddSeconds(-1);
Response.Expires
=
0;
Response.CacheControl
=
"no-cache";
Response.AddHeader("Pragma",
"No-Cache");
第二種是HTML方法
最後一種是在在頁面中禁用緩存
在web開發中合理使用緩存可以有效的提高網站的性能,但是在某些場合下因為緩存的存在會帶來很多的問題。
例如:因為緩存的存在會造成重復提交數據的問題,驗證碼圖片不能正確顯示的問題
,等等。這個時候我們就要禁用頁面緩存的功能。
我們常用的做法是發送一個no-cache的指令,但是實際使用過程中我們發現,這個指令對IE是有效的,但是對Firefox卻沒有效,這是因為,使用該指令Firefox不緩存HTTPS
pages
但是還是會緩存HTTP
pages
,這是Firefox的一個BUG,解決的辦法很簡單,就是使用no-store代替no-cache,同時發送no-store和no-cache指令
ASP.net中的處理方法,在不需要緩存的頁面中添加如下代碼
『肆』 ASP如何清除頁面緩存
先說方法,直接在頁頭(注意是頁頭)加下如下代碼:
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"
Response.AddHeader"Pragma","no-Cache"
接下來我們了解一下ASP輸出對象response的以下幾個屬性:
ExpiresAbsolute :屬性指定緩存於瀏覽器中的頁的到期日期和時間。
Expires: 屬性指定了在瀏覽器上緩沖存儲的頁距過期還有多少時間。如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區中的版本
CacheControl:決定代理伺服器是否能緩存 ASP 生成的輸出
那結合以上三個屬性,我們在頁頭加上這樣的代碼:
response對象還有一個屬性:
Buffer 屬性指示是否緩沖頁輸出。當緩沖頁輸出時,只有當前頁的所有伺服器腳本處理完畢或者調用了 Flush 或 End 方法後,伺服器才將響應發送給客戶端。
伺服器將輸出發送給客戶端後就不能再設置 Buffer 屬性。因此,應該在 .asp 文件的第一行調用 Response.Buffer
『伍』 asp中如何清除瀏覽器緩存
<%
Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
%>
可以讓瀏覽器不緩存,但不能主動讓瀏覽器清除緩存。
『陸』 asp.net編程中怎麼去掉網頁中的緩存
這是瀏覽器的設置問題,不過也有HTML代碼可以實現,就是設置autocomplete
ie:
<input
type="text"
autocomplete="off"
id="number"/>
firefox:<input
type="text"
disableautocomplete
id="number"/>