国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET 4中的可擴展輸出緩存(可以緩存頁面/控件等)

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

2019-10-15 10:58asp.net技術網 ASP.NET教程

ASP.NET 1.0引入輸出緩存的概念,這使得開發者可以緩存頁面、控件、控制器以及HTTP響應的輸出到內存中,接下來詳細介紹,感興趣的朋友可以了解下

輸出緩存的前世今生 
ASP.NET 1.0引入輸出緩存的概念,這使得開發者可以緩存頁面、控件、控制器以及HTTP響應的輸出到內存中。在后續的Web請求,ASP.NET就可以使用緩存中的內容更快響應。 

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

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

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

現在,每當我在一個aspx頁面添加下面的指令,頁面內容就會通過ScottOutputCache緩存: 
<%@ OutputCache Duration="60" VaryByParam="None" %>類似的,如果我給一個action添加[OutputCache]屬性,內容頁將通過ScottOutputCache緩存: 

復制代碼代碼如下:


[OutputCache(Duration=60)] 
public ActionResult Browse(string category) 

return View(); 


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

我們可以通過重載應用的Global.asax的GetOutputCacheProviderName()來實現上面的要求: 

復制代碼代碼如下:


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); 



這樣我們單獨為Home.aspx頁面使用ASP.NET的內存緩存provider,而其他請求使用web.config中配置的緩存provider。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女午夜影院 | 成人久久久 | 91亚洲国产 | 一级全黄少妇性色生活片免费 | 国产成人网 | 久久久久久久av | 日本高清视频在线播放 | 在线色网站| 免费网站色 | 久热精品免费视频 | 久久精品久久久 | 日本在线视频观看 | 黄色免费观看网站 | 欧洲一区二区三区 | 久久人人爽人人爽人人片av不 | 亚洲天堂一区二区 | 精品一区二区三区免费毛片爱 | www.fefe66.com| 好吊妞国产欧美日韩免费观看视频 | 色综合天天综合网国产成人网 | 精品免费久久久久 | 毛片网站在线观看 | 五月婷婷狠狠爱 | www.久久精品 | 在线视频一区二区三区 | 无码日韩精品一区二区免费 | 中文字幕在线一区 | 欧美理论视频 | 精品国产一区二区三区在线观看 | 亚洲精品久久久久久久久久久久久 | 国产综合精品 | 亚洲免费在线播放 | 99在线观看 | 亚洲国产精品视频 | 久久久精 | 国产精品久久久久久久久免费 | 久久亚洲一区二区 | 懂色av一区二区三区免费观看 | 91麻豆精品国产91久久久久久 | 久久99国产精一区二区三区 | 久久久99精品免费观看 |