快速业务通道

ASP.NET 2.0缓存技术探讨

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
    <%= DateTime.Now.ToString() %>
        </p>
        <p>
            <b>Real Time:
                <asp:Substitution ID="Substitution1" runat="server" MethodName="GetCurrentDate" />
            </b>
        </p>
    </form>
</body>
</html >

通过API实现回调缓存

<%@ Page Language="VB" %>
<%@ OutputCache Duration="60" VaryByParam = "none" %>

<script runat="server">

Shared Function GetCurrentDate(context As HttpContext) As String

    return DateTime.Now.ToString()
End Function

</script>

<html >
<head id="Head1" runat="server">
    <title>Post Cache Substitution</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <b>This page uses post cache substitution to insert a dynamic value into a cached page.</b>
    <br /><br />
    Time: <%= DateTime.Now.ToString() %>
    <br /><br />
    <b>
    Real Time: <% Response.WriteSubstitution(New HttpResponseSubstitutionCallback(AddressOf GetCurrentDate)) %>
    </b>
    </div>
    </div>
    </form>
</body>
</html >

通过使用SubStitution来实现缓存

l 使用API定制缓存

如果需要对缓存进行更详细的设置,可以通过设置System.Web.HttpCachePolicy属性来进行配置下面这个语句和我们<%@ Output Cache Duration = “60” VaryByParam = “none”%>完全一样

Response.Cache.SetExpires(Now.AddSeconds(60))

Response.Cache.SetCacheability(HttpCacheability.Public)

2.Page Fragment Caching

l 作为Output的缓存的附加功能,还提供一种缓存技术,专门用于缓存用户控件或者网页中的一部分东西。可以指定没一部分或者某一个区域不被缓存。

l 在页面中,指定返回参数,来决定控件被缓存的部分。使用语句VaryByparam语句指定控件更具参数来改变。

l 示例:通过返回参数改变缓存内容示例

用户控件页面设置:

<%@ Control Language="vb" %>
<%@ OutputCache Duration="60" VaryByParam="none" %>

调用控件页面设置:

<%@ Register TagPrefix="Acme" TagName="DataControl " Src="datactrl .ascx" %>

Body部分:

<h3>
<font face="Verdana">Fragment Caching</font></h3>
    <Acme:DataControl runat="server" />
    <br>
    <i>页面最后被访问于:</i>
    <asp:Label ID="TimeMsg" runat="server" />

l 接受控件传参数修改

缓存用户控件同样还可以使用控件作为参数来源。通过指定控件作为缓存控件的参数来源,可以达到缓存控件数据的目的。

示例:通过控件参数改变缓存内容示例

用户控件页面设置:

<%@ Control Language="VB" ClassName="FragCtrlwithAPI" %>
<%@ OutputCache Duration="60" VaryByControl ="pickstate

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号