程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET輸出緩存

ASP.NET輸出緩存

編輯:關於ASP.NET

ASP.NET緩存通過在內存中存儲頁面輸出來構建一個高性能的,可伸縮的asp.net web應用程序。在隨 後的請求中,網頁代碼不用執行,直接使緩存的輸出用於服務的請求。在本文中,我們專注於ASP.NET頁 面輸出緩存。

這只是在一站式開發技術框架中Silverlight樣例的一部分,你能從http://cfx.codeplex.com/上獲得 更多的例子。

Microsoft All-In-One Code Framework ,微軟通過典型的三種流行的編程語言(Visual C#, VB.NET和Visual C++)編寫代碼示例代碼來描繪微軟主要的開發技術。每個示例是精心挑選,組成的,並 提供測試,或使用的編碼方案。

默認情況下,我們去請求一個ASP.NET 站點,每次請求都將進行多步處理的。 例如頁面的初始化,加 載,渲染等等。這樣會消耗大量的服務器資源。考慮以下情形:許多客戶浏覽ASP.NET的新聞網頁和新聞 網站的頁面幾個小時都不會改變 。基於共同的路線,多個客戶的幾乎在同一時間在請求同一個新聞網頁 ,ASP.NET將執行相同的代碼生成多次相同新聞。這是一種浪費資源的過程。因此,我們開始考慮能否生 成一次響應,它能服務於多個客戶。答案就是緩存。

ASP.NET提供了兩個緩存的方法。輸出緩存(包括頁面級緩存和用戶控件級緩存)和緩存API 。在本文 中,我們將討論輸出緩存。輸出緩存的優點是易於實現,並在大多數情況下是足夠的。它只是在內存中保 存了發送給客戶端輸出和後續請求答辯書的副本,然後用緩存的輸出,直到緩存過期的反應,然後,直到 緩存過期,後續的請求響應緩存輸出。這令人難以置信的提高ASP.NET Web應用程序的性能。

對於ASP.NET輸出緩存,ASP.NET使用@ OutputCache指令,宣布許多屬性來控制ASP.NET頁或頁面上的 用戶控件的 輸出緩存的策略。

代碼

<%@ OutputCache Duration="#ofseconds"
    Location="Any | Client | Downstream | Server | None | ServerAndClient  "
    Shared="True | False"
    VaryByControl="controlname"
    VaryByCustom="browser | customstring"
    VaryByHeader="headers"
    VaryByParam="parametername"
    VaryByContentEncoding="encodings"
    CacheProfile="cache profile name | ''"
    NoStore="true | false"
    SqlDependency="database/table name pair | CommandNotification"
%>

在本文中,我們將介紹@ OutputCache的 Duration, VaryByCustom, VaryByParam, 和VaryByControl 屬性來緩存我們的頁面輸出 ,對於其它屬性,您可以參考:http://msdn.microsoft.com/en- us/library/hdxfb6cy.aspx.

下面演練一步一步如何使用它們。在演示中,我們使用的日期時間,以確定頁面是否被緩存。(在頁面 加載事件中,我們將日期時間寫在一個名字為“lblResult”的控件中)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved