婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)

ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)

熱門標(biāo)簽:蘋果手機(jī)凱立德地圖標(biāo)注 合肥電銷外呼系統(tǒng)哪家公司做的好 玉林市機(jī)器人外呼系統(tǒng)哪家好 電話機(jī)器人軟件銷售工作 預(yù)測式外呼系統(tǒng)使用說明 申請400電話手續(xù) 同安公安400電話怎么申請流程 南陽外呼系統(tǒng)定制化 百度ai地圖標(biāo)注
輸出緩存的前世今生
ASP.NET 1.0引入輸出緩存的概念,這使得開發(fā)者可以緩存頁面、控件、控制器以及HTTP響應(yīng)的輸出到內(nèi)存中。在后續(xù)的Web請求,ASP.NET就可以使用緩存中的內(nèi)容更快響應(yīng)。

ASP.NET的輸出緩存系統(tǒng)足夠靈活,使得我們可以根據(jù)不同的查詢字符串或者表單post參數(shù)來緩存不同版本的內(nèi)容。例如test.aspx?category=Vegerable 和 test.aspx?category.aspx?category=Meat。它也允許我們根據(jù)瀏覽器類型或者用戶語言偏好來緩存不同版本的內(nèi)容。比如你可以為應(yīng)用的手機(jī)版本緩存一份數(shù)據(jù)而為桌面版本緩存另外一份。

我們也可以通過配置ASP.NET來為緩存項設(shè)置特定的緩存時間(如1分鐘)。我們也可以配置ASP.NET的緩存項根據(jù)外部事件動態(tài)更新緩存(比如數(shù)據(jù)庫數(shù)據(jù)更新)。
但是ASP.NET V1到ASP.NET V3.5都只允許內(nèi)存緩存。

ASP.NET 4輸出緩存擴(kuò)展
ASP.NET 4擴(kuò)展了輸出緩存使得我們可以配置一個或多個輸出緩存provider(output cache providers)。輸出緩存provider可以使用任意存儲機(jī)制來持久化輸出緩存內(nèi)容。這使得我們可以把緩存內(nèi)容存在本地或者遠(yuǎn)程磁盤、數(shù)據(jù)庫、云端或者分布式緩存引擎中(如memcached或者velocity)。
我們可以通過集成ASP.NET中的System.Web.Caching.OutputCacheProvider類來定制自己的輸出緩存provider。然后我們重4個公共方法來實(shí)現(xiàn)添加/移除/檢索/更新緩存內(nèi)容(每一個緩存項都必須通過一個唯一的key來標(biāo)識)。然后我們將這個自定制的輸出緩存provider注冊到web.config文件中,如下:
 
在上面,我添加了一個輸出緩存provider,名叫SampleCache,它由OutputCacheSample.dll程序集中的ScottOutputCache類實(shí)現(xiàn)。我同時也設(shè)置了ASP.NET的默認(rèn)輸出緩存provider為SampleCache,即通過上面的defaultProvider。

現(xiàn)在,每當(dāng)我在一個aspx頁面添加下面的指令,頁面內(nèi)容就會通過ScottOutputCache緩存:
%@ OutputCache Duration="60" VaryByParam="None" %>類似的,如果我給一個action添加[OutputCache]屬性,內(nèi)容頁將通過ScottOutputCache緩存:
復(fù)制代碼 代碼如下:

[OutputCache(Duration=60)]
public ActionResult Browse(string category)
{
return View();
}

定制使用哪個輸出緩存Provider
上面我只提供了一個默認(rèn)的SampleCache輸出緩存Provider。而開發(fā)人員實(shí)際上可以根據(jù)每個請求動態(tài)選擇輸出緩存Provider的。例如我們可以為首頁和Top 10頁面使用ASP.NET內(nèi)置的內(nèi)存provider(它超級迅速,因為內(nèi)容存在內(nèi)存中),而把不常用的請求頁面緩存到磁盤。

我們可以通過重載應(yīng)用的Global.asax的GetOutputCacheProviderName()來實(shí)現(xiàn)上面的要求:
復(fù)制代碼 代碼如下:

public class Global: System.Web.HttpApplication
{
public override string GetOutputCacheProviderName(HttpContext context)\
{
if(context.Request.Path.EndsWith("Home.aspx")
{
return "AspNetInternalProvider";
}
else
{
return base.GetOutputCacheProviderName(context);
}
}
}

這樣我們單獨(dú)為Home.aspx頁面使用ASP.NET的內(nèi)存緩存provider,而其他請求使用web.config中配置的緩存provider。
您可能感興趣的文章:
  • asp.net頁面SqlCacheDependency緩存實(shí)例
  • Asp.net禁用頁面緩存的方法總結(jié)
  • 設(shè)置ASP.NET頁面不被緩存(客戶端/服務(wù)器端取消緩存方法)
  • ASP.NET頁面在IE緩存的清除辦法
  • asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數(shù)據(jù)
  • asp.net 頁面輸出緩存
  • ASP.net Substitution 頁面緩存而部分不緩存的實(shí)現(xiàn)方法
  • ASP.NET 2.0中的頁面輸出緩存
  • 讓html頁面不緩存js的實(shí)現(xiàn)方法
  • ASP.NET頁面緩存常見的4種方式

標(biāo)簽:南京 嘉興 臺州 揚(yáng)州 海南 南昌 淄博 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)》,本文關(guān)鍵詞  ASP.NET,中的,可擴(kuò)展,輸出,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 永康市| 嘉义市| 静安区| 神木县| 哈巴河县| 潜江市| 库伦旗| 大同县| 昆明市| 鄢陵县| 临汾市| 绍兴县| 玛多县| 崇州市| 侯马市| 东海县| 定日县| 洛宁县| 肥乡县| 榆林市| 灵武市| 平陆县| 吴旗县| 家居| 沙坪坝区| 仁化县| 高清| 扬州市| 象州县| 广安市| 沽源县| 马山县| 永仁县| 萨嘎县| 稻城县| 乃东县| 武定县| 台前县| 曲阳县| 乌恰县| 平利县|