您的位置:首页 > 编程语言 > ASP

缓存之页面部分缓存

2017-04-10 23:15 330 查看

介绍

有时缓存整个页面是不现实的,因为页面的某些部分可能在每次请求时都需要变化


        在这种情况下,只能缓存页面的一部分。顾名思义,页面部分缓存是将页面部分内容保存在内存中,

以便更快速响应用户请求,而页面其他部分内容则为动态内容。


        采用页面部分缓存的技术下,经常采用先将那个页面缓存,然后替换页面中不需要缓存的部分的“缓存

后替换”的方法

“缓存后替换”主要采用Substitution控件来实现

        

        使用Substitution控件实现页面部分缓存

        

        数据库中的默写数据可能每时每刻都会发生变化,因此对页面的动态内容也实现缓存,则可能产生数

据不能及时更新的问题


        Substitution控件在整页缓存的前提下,指定页面中免于缓存的部分,那么页面中被缓存的区域只执行

一次,然后从缓存读取,直至该缓存到期


        页面中的动态区域,即Substitution控件指定的部分,在每次请求页面时都会执行 

        

        Substitution控件 有一个重要的属性:MethodName属性所定义的方法。



        用于获取或设置当Substiution控件执行时调用的方法的名称,必须符合以下3条标准

        1.必须被定义为静态方法

        2.必须接受HttpContext类型的参数

        3.必须返回string类型的值

        

        在运行情况下,Substitution控件将会自动调用MethodName属性所定义的方法。

        该方法返回的字符串即为要在页面的内容


代码实例

<%@ OutputCache Duration="5" VaryByParam="none" %>


<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Substitution ID="Substitution1" runat="server" MethodName="GetTime" />
<asp:Button ID="Button1" runat="server" Text="刷新" />
</form>



protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString("yyyy--MM--dd--hh--mm--ss");
}
public static String GetTime(HttpContext context)
{
return DateTime.Now.ToString();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  缓存 asp.net