我們?cè)?span style="color:#002FD9">ASP.NET
清空緩存的時(shí)候經(jīng)常會(huì)遇到一些問題,那么我們要如何才能更好的解決這些問題呢?別著急,我們現(xiàn)在就去看看asp.net 取消緩存的問題說明,希望對(duì)你有所幫助。1。 取消緩存
(2)客戶端取消
<html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>
(3)服務(wù)器具端取消:
服務(wù)器端:
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
Global里面:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpContext.Current.Response.Cache.SetNoStore();
}
<%@ OutPutCache Location="None"%>
頁面基類:
public class PageBase : Page
{
public PageBase() {}
protected override OnLoad( EventArgs e ) {
Response.Cache.SetNoStore();
base.OnLoad();
}
}
最簡(jiǎn)單的辦法 :-)
學(xué)CSDN的這個(gè)論壇,在URL后面隨機(jī)的加一些沒用的參數(shù),比如:
http://xxx/xxx/xxx.jpg?p=xxx
IE是用過URL來控制緩存的,這樣就解決了
(4)web.config可以設(shè)置吧?
2。
(1)客戶端緩存和我們常在代碼中使用的Cache對(duì)象,有什么差別,當(dāng)我們僅用了客戶端緩存時(shí),他對(duì)我們?cè)诖a中使用的Cache有沒有什么影響!
兩個(gè)完全不同的東西,Cache對(duì)象是給你自己緩存東西用的,好處是會(huì)自動(dòng)清理掉過期的東西。客戶端緩存是HTTP的一個(gè)規(guī)范,用于在客戶端緩存網(wǎng)頁的,有時(shí)候我們需要客戶端緩存提高瀏覽速度,減輕服務(wù)器負(fù)擔(dān),但有時(shí)候我們又需要在客戶端禁用緩存,以避免客戶端看到過期的信息
(2)當(dāng)客戶端瀏覽器被關(guān)閉時(shí),要如何移除Cache中的值。當(dāng)用戶是正常注銷是可以做到,但是如果用戶是直接關(guān)閉瀏覽器要如何實(shí)現(xiàn)呢?
<body onbeforeunload="window.open('clear.aspx','','top=4000')">
(3)1.Page.Cache,Context.Cache,HttpRuntime.Cache是否引用同一個(gè)Cache對(duì)象.
2.它們之間的區(qū)別是什么?
3.它們的使用場(chǎng)合是什么?
它們指的同一個(gè)對(duì)象,在某個(gè)請(qǐng)求其間,Page.Cache和HttpContext.Current.Cache是有效的,至于這2者的區(qū)別,一般是由你調(diào)用的地方?jīng)Q定的,如果在Page里,那么用Page.Cache,如果在global.asax或自己的函數(shù)里,那么用后者
但如果你需要在某個(gè)事件,譬如基于Timer的處理函數(shù)里訪問,因?yàn)槠鋾r(shí)沒有HttpContext,那么用HttpRuntime.Cache
上文就是asp.net 取消緩存的問題說明,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望大家多多關(guān)注我們網(wǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選