技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

[示例]如何使用控件緩存來緩存ASP.NET頁面的一部分

作者:admin    時間:2023-4-28 15:53:40    瀏覽:

要緩存ASP.NET網(wǎng)頁不難,在 .aspx 文件開頭直接使用 @OutputCache 便可實現(xiàn)。不過有時你并不需要緩存整張網(wǎng)頁內(nèi)容,而是只想緩存某一區(qū)塊的內(nèi)容,那該如何實現(xiàn)呢?其實是有方法可以做到的,那就是使用控件緩存。本文就給大家介紹如何使用控件緩存來緩存ASP.NET頁面的一部分。

控制緩存

要設(shè)置用戶控件緩存,你可以使用@OutputCache指令以聲明方式設(shè)置策略,或者通過在用戶控件的代碼中使用PartialCachingAttribute類。

例如,如果你在用戶控件文件(.ascx 文件)的頂部包含以下指令,則該控件的一個版本將在輸出緩存中存儲 120 秒。

<%@ OutputCache Duration="120" VaryByParam="None" %>

如果要在代碼中設(shè)置緩存參數(shù),可以在用戶控件的類聲明中使用屬性。例如,如果您在類聲明的元數(shù)據(jù)中包含以下屬性,則輸出緩存中的內(nèi)容版本將存儲 120 秒:

[PartialCaching(120)]
public partial class CachedControl : System.Web.UI.UserControl
{
    // Class Code
}

有關(guān)在頁面輸出上設(shè)置的屬性的更多信息,請參閱:

設(shè)置頁面緩存和控件緩存時間

你可以為頁面和頁面上的用戶控件設(shè)置不同的輸出緩存持續(xù)時間值。

如果頁面輸出緩存持續(xù)時間小于用戶控件的持續(xù)時間,則用戶控件將被緩存直到其持續(xù)時間到期,即使在為請求重新生成頁面的其余部分之后也是如此。例如,如果頁面輸出緩存設(shè)置為 50 秒,而用戶控件的輸出緩存設(shè)置為 100 秒,則頁面其余部分每過期兩次,用戶控件就會過期一次。

下面的代碼顯示了一個頁面的標(biāo)記,該頁面包含緩存持續(xù)時間比該頁面長的用戶控件。該頁面配置為緩存 50 秒。

<%@ Page language="C#" %>
<%@ Register tagprefix="SampleControl" tagname="Time" src="uc2.ascx" %>
<%@ OutputCache duration="50" varybyparam="none" %>

<SampleControl:Time runat="server" /><br /> <br /> <br />

This page was most recently generated at:<p>
 <% string t = DateTime.Now.ToString(); 
    Response.Write(t); %>

下面的代碼顯示了頁面中包含的用戶控件。控件的緩存持續(xù)時間設(shè)置為 100 秒。

<% @Control language="C#" %>
<% @OutputCache duration="100" varybyparam="none" %>

This user control was most recently generated at:<p>

<% string t = DateTime.Now.ToString(); 
    Response.Write(t); %>

總結(jié)

通過本文的介紹方法,我們就可以使用控件緩存來緩存ASP.NET頁面的一部分了。

相關(guān)文章

標(biāo)簽: 緩存  asp.net  aspx  OutputCache  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */