`

14、使用部分页面缓存

阅读更多
使用部分页面缓存

1、使用缓存后替换
AdRotator控件的内部使用了缓存后替换。
使用Substitution控件

SubstitutionControl.aspx
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    public static string GetTime(HttpContext context)
    {
        return DateTime.Now.ToString("T");
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        The cache time is :<%=DateTime.Now.ToString("T") %>
        <hr />
        The substitution time is:
        <asp:Substitution ID="Substitution1" MethodName="GetTime" runat="server" />
    </div>
    </form>
</body>
</html>


以编程方式使用Response.WriteSubstitution();

ShowWriteSubstitution.aspx
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    public static string GetTime(HttpContext context)
    {
        return DateTime.Now.ToString("T");
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        The cache time is :<%=DateTime.Now.ToString("T") %>
        <hr />
        The substitution time is:
        <%   Response.WriteSubstitution(GetTime); %>
    </div>
    </form>
</body>
</html>


2011-5-28 22:26 danny

2、用户控件缓存
缓存Asp.net页面一样在内存中缓存用户控件呈现的内容。
不给用户控件添加<%@OutputCache%>指令时,用户控件的输出内容就会缓存。

注意:
当缓存一个用户控件时,内容缓存在Web服务器上,而不是缓存在代理服务器和浏览器上。当代理服务器或浏览器缓存页面时,它们总是缓存整个页面。

Movies.ascx
<%@ Control Language="C#" ClassName="Movies" %>
<%@ OutputCache Duration="600" VaryByParam="none" %>
<script runat="server">

</script>

User Control Time:

<%=DateTime.Now.ToString("T") %>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
            ReadOnly="True" SortExpression="id" />
        <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
        <asp:BoundField DataField="Director" HeaderText="Director" 
            SortExpression="Director" />
        <asp:BoundField DataField="DateReleased" HeaderText="DateReleased" 
            SortExpression="DateReleased" />
        <asp:BoundField DataField="Description" HeaderText="Description" 
            SortExpression="Description" />
    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT * FROM [Movies]"></asp:SqlDataSource>


ShowUserControlCache.aspx
<%@ Page Language="C#" %>

<%@ Register TagPrefix="user" TagName="Movies" Src="~/Movies.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        Page Time:
        <%=DateTime.Now.ToString("T") %>
        <hr />
        <user:Movies ID="Movies" runat="server" />
    </div>
    </form>
</body>
</html>


2011-5-29 19:10 danny

分享到:
评论

相关推荐

    关于vue里页面的缓存详解

    结合router缓存部分页面: 比较实用的例子: 思路:通过beforeRouterLeave这个钩子来对路由里面的keepAlive进行赋值。从而动态的确定A页面是否需要被缓存。 结合router缓存部分页面: 比较实用的例子: 思路:...

    jsp 页面缓存

    jsp 页面 部分数据 缓存,可以设置缓存的时间,可以大大提高页面的访问速度!

    清理Ubuntu等页面缓存,清空物理内存

    清理Ubuntu的页面缓存, drop vm cache。一般大家在做大型工程的编译时,比如linux kernel,Android等总会遇到内存爆满,系统一旦开始刷新swap就奇慢无比,实际上是因为系统硬件内存部分被占满(其中大部分被载入内存...

    Asp.NET性能优化之局部缓存

    上面场景中的1,如果整个页面的缓存失效都定为10分钟,则势必增加性能开销,所以最好的策略是页面的不同部分采用不同的缓存失效时长。对于场景2也一样,我们不应该为了迁就某个BANNER不能应用缓存,就让整个页面都不...

    ASP.NET2.0输出缓存

    对ASP.NET2.0 页面输出缓存和页面部分缓存都有介绍 网络整理的

    magento footer no cache,不缓存页面底部footer部分

    magento footer no cache,不缓存页面底部footer部分

    使用Angular缓存父页面数据的方法

    angular做单页面应用是一个比较好的框架,但是它有一定的入门难度,对于新手来说可能会碰到很多坑,也有许多难题,大部分仔细看文档,找社区是能解决的。 但有些问题也许资料比较少,最近遇到过一个要缓存父页面的...

    最基本的SpringBoot2.0,+Swagger-ui,以及redis作为缓存使用,CacheManage管理

    本项目代码包括,最基本的SpringBoot2.0,+Swagger-ui,以及redis的测试类,redis各种类型数据存储的工具类以及测试的sql文件,redi部分配置CacheManage,并且采用注解方式将数据存入缓存和从缓存redis中删除,码云地址...

    高效的缓存管理解决方案AutoLoadCache.zip

    但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变化,要更换缓存方案时,非常麻烦。接下来我们就使用AOP Annotation 来解决这个问题,同时使用自动加载机制 来实现数据...

    ASP.net Substitution 页面缓存而部分不缓存的实现方法

    在ASP.NET中要实现部分内容非缓存,而其它的都需要缓存输出,可以使用Substitution控件实现.

    ASP.NET 2.0中的页面输出缓存

    静态页面全部内容保存在服务器内存中。当再有请求时,系统将缓存中的相关数据直接输出,直到缓存... 设置页面输出缓存可以使用以下两种方式:一种是使用@ OutputCache指令,另一种是使用页面输出缓存API。@ OutputCac

    ojsputil.jar 片段缓存 JAR包

    内容缓存是Web应用中最普通的优化技术之一,例如,可以使用一个自定义地jsp标签——我们将之命名为——由和将每一个需要被缓存的页面片段封装起来。任何自定义标签可以控制它所包含部分 (也即预先封装的页面片段)在...

    移动端H5页面返回并刷新页面(BFcache)的方法

    而对于浏览器来说,大部分浏览器的返回是直接使用缓存的,不会执行任何的javascript代码。原因:部分浏览器在后退时不会触发onload事件,這是HTML5世代浏览器新增的特性之一——Back-Forward Cache(简称bfcache) ...

    分布式键值缓存系统FirstDB.zip

     基础部分:  一套分布式缓存数据库  扩展应用实例:  @基于机器学习的数据分类系统。  @可应用在WEB页面加速。  @构建实时关键信息预测,例交通拥堵预测,道路设计建模。  @公安预警 ,实时环境况...

    ios-Swift 文件缓存--DDGDataCache_Swift库高级封装用法.zip

    要求页面在无网状态先显示上一次显示的数据,这就涉及到缓存, 但是缓存又分为文件缓存,归档等,realm 太过笨重,归档太麻烦,最后选择了文件缓存, 看了很多博客,在参考了别人的缓存开源项目,功能太过简单单一化...

    php页面缓存ob系列函数介绍

    这里有缓存技术的简单介绍:https://www.jb51.net/article/4965.htm   php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents() 下面是编码部分。 1.初始化函数,一般是设置页面缓存...

    idea实现SSM+bootstrap(包换部分缓存及菜单权限)

    ssm框架整合,前端采用bootstrap+require.js模块化,大部分页面功能都已经实现,里面包含:登录,首页,各类数据录入,菜单权限及后台Map缓存

    ASP.NET.4揭秘 卷2

    n43 使用部分页面缓存 n431 使用缓存后替换 n432 用户控件缓存 n433 共享用户控件的输出缓存 n434 以编程方式处理用户控件缓存 n435 创建用户控件缓存的文件依赖 n436 缓存动态载入的用户控件 n44 使用数据源缓存 n...

    ASP.NET3.5揭秘(卷2)part1

     4.3 使用部分页面缓存  4.4 使用数据源缓存  4.5 使用数据缓存  4.6 使用SQL缓存依赖  4.7 小结  第5章 多语言本地化应用程序  5.1 设置当前文化  5.2 使用CultureInfo类  5.3 创建本地资源  ...

Global site tag (gtag.js) - Google Analytics