3、共享用户控件的输出缓存
默认情况下,同一个用户控件在不同页面上的实例不共享相同的缓存。
希望跨页面缓存相同的用户控件的内容。需要指定<%@ OutputCache%>指定Shared特性。
SharedMovie.ascx
4、以编程方式处理用户控件缓存
用户控件CachePloicy属性公开了一个ControlCachePolicy类的实例。
SlidingUserCache.ascx
5、创建用户控件缓存的文件依赖
CacheControlPolicy.Dependency属性在一个缓存了的用户控件和文件系统中的一个文件(或一组文件)间创建一个依赖。当文件被修改时,用户控件的缓存自动失效,并在下次页面被请求时重新生成。
MovieFileDependency.ascx
ShowMovieFileDependency.aspx
在Maxthon2中会出现更新Movie.xml刷新不立即更新的问题,Firefox没有这问题。
2011-5-30 21:17 danny
6、缓存动态载入的用户控件
可以使用Page.LoadControl()方法动态载入一个用户控件。
可以和声明在页面中的用户控件一样缓存动态载入的用户控件。
如果用户控件包括一个<%@OutputCache%>指令,则用户控件无论是用声明方式还是编程方式添加到页面的,它都会缓存。
P170
2011-5-30 21:21 danny
默认情况下,同一个用户控件在不同页面上的实例不共享相同的缓存。
希望跨页面缓存相同的用户控件的内容。需要指定<%@ OutputCache%>指定Shared特性。
SharedMovie.ascx
<%@ Control Language="C#" ClassName="Movies" %> <%@ OutputCache Duration="600" VaryByParam="none" Shared="true" %> <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>
4、以编程方式处理用户控件缓存
用户控件CachePloicy属性公开了一个ControlCachePolicy类的实例。
SlidingUserCache.ascx
<%@ Control Language="C#" ClassName="SlidingUserCache" %> <%@ OutputCache Duration="10" VaryByParam="none" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { CachePolicy.SetSlidingExpiration(true); CachePolicy.Duration = TimeSpan.FromMinutes(1); } </script> User Control Time: <% =DateTime.Now.ToString("T") %>
5、创建用户控件缓存的文件依赖
CacheControlPolicy.Dependency属性在一个缓存了的用户控件和文件系统中的一个文件(或一组文件)间创建一个依赖。当文件被修改时,用户控件的缓存自动失效,并在下次页面被请求时重新生成。
MovieFileDependency.ascx
<%@ Control Language="C#" ClassName="MovieFileDependency" %> <%@ OutputCache Duration="9999" VaryByParam="none" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { CacheDependency depend=new CacheDependency(MapPath("~/Movies.xml")); this.CachePolicy.Dependency=depend; } </script> User Control Time: <%=DateTime.Now.ToString("T") %> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XmlDataSource1"> <Columns> <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" /> </Columns> </asp:GridView> <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Movies.xml"> </asp:XmlDataSource>
ShowMovieFileDependency.aspx
<%@ Page Language="C#" %> <%@ Register TagPrefix="movie" TagName="MovieFileDependency" Src="~/MovieFileDependency.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 /> <movie:MovieFileDependency runat="server" /> </div> </form> </body> </html>
在Maxthon2中会出现更新Movie.xml刷新不立即更新的问题,Firefox没有这问题。
2011-5-30 21:17 danny
6、缓存动态载入的用户控件
可以使用Page.LoadControl()方法动态载入一个用户控件。
可以和声明在页面中的用户控件一样缓存动态载入的用户控件。
如果用户控件包括一个<%@OutputCache%>指令,则用户控件无论是用声明方式还是编程方式添加到页面的,它都会缓存。
P170
2011-5-30 21:21 danny
发表评论
-
16、使用数据源缓存
2011-06-07 09:43 796使用数据源缓存 除了在页面或用户控件级别进行缓存之外,也可以 ... -
14、使用部分页面缓存
2011-05-31 16:10 829使用部分页面缓存 1、 ... -
13、使用页面输出缓存2
2011-05-23 09:23 9238、使用编程方式设置页面输出缓存过期 可以使用Response ... -
12、使用页面输出缓存
2011-05-22 09:31 682使用页面输出缓存 可以给页面添加<%@ OutputC ... -
11、缓存概览
2011-05-21 13:04 405缓存概览 ASP.NET 3.5 Framework支持下面 ... -
10、使用用户配置文件
2011-05-18 09:09 1083使用用户配置文件 Asp.net Framework提供了一 ... -
9、使用Session状态
2011-05-17 09:16 860使用Session状态 不可能 ... -
8、使用浏览器Cookie
2011-05-16 11:13 1175使用浏览器Cookie set-cook ... -
7、使用角色管理器
2011-05-14 10:32 515使用角色管理器 Asp.net Framework提供三个角 ... -
6、使用ASP.NET Membership
2011-05-13 21:36 766使用ASP.NET Membership 通过Asp.net ... -
5、配置安全授权
2011-05-13 15:14 567配置安全授权 授权是指识别用户是否可以访问特定资源的过程。 ... -
4、配置身份验证
2011-05-13 09:08 936配置身份验证 Asp.net Framework支持三种验证 ... -
3、使用LoginStatus控件
2011-05-12 21:44 898使用LoginStatus控件 根据当前用户的验证状态,Lo ... -
2、使用CreateUserWizard控件
2011-05-12 09:18 1154使用CreateUserWizard控件 CreateUse ... -
1、使用Login控件
2011-05-11 21:27 1373使用Login控件 1、Login控件概览 加密文件: Se ...
相关推荐
结合router缓存部分页面: 比较实用的例子: 思路:通过beforeRouterLeave这个钩子来对路由里面的keepAlive进行赋值。从而动态的确定A页面是否需要被缓存。 结合router缓存部分页面: 比较实用的例子: 思路:...
jsp 页面 部分数据 缓存,可以设置缓存的时间,可以大大提高页面的访问速度!
清理Ubuntu的页面缓存, drop vm cache。一般大家在做大型工程的编译时,比如linux kernel,Android等总会遇到内存爆满,系统一旦开始刷新swap就奇慢无比,实际上是因为系统硬件内存部分被占满(其中大部分被载入内存...
上面场景中的1,如果整个页面的缓存失效都定为10分钟,则势必增加性能开销,所以最好的策略是页面的不同部分采用不同的缓存失效时长。对于场景2也一样,我们不应该为了迁就某个BANNER不能应用缓存,就让整个页面都不...
magento footer no cache,不缓存页面底部footer部分
对ASP.NET2.0 页面输出缓存和页面部分缓存都有介绍 网络整理的
angular做单页面应用是一个比较好的框架,但是它有一定的入门难度,对于新手来说可能会碰到很多坑,也有许多难题,大部分仔细看文档,找社区是能解决的。 但有些问题也许资料比较少,最近遇到过一个要缓存父页面的...
本项目代码包括,最基本的SpringBoot2.0,+Swagger-ui,以及redis的测试类,redis各种类型数据存储的工具类以及测试的sql文件,redi部分配置CacheManage,并且采用注解方式将数据存入缓存和从缓存redis中删除,码云地址...
但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变化,要更换缓存方案时,非常麻烦。接下来我们就使用AOP Annotation 来解决这个问题,同时使用自动加载机制 来实现数据...
内容缓存是Web应用中最普通的优化技术之一,例如,可以使用一个自定义地jsp标签——我们将之命名为——由和将每一个需要被缓存的页面片段封装起来。任何自定义标签可以控制它所包含部分 (也即预先封装的页面片段)在...
在ASP.NET中要实现部分内容非缓存,而其它的都需要缓存输出,可以使用Substitution控件实现.
而对于浏览器来说,大部分浏览器的返回是直接使用缓存的,不会执行任何的javascript代码。原因:部分浏览器在后退时不会触发onload事件,這是HTML5世代浏览器新增的特性之一——Back-Forward Cache(简称bfcache) ...
静态页面全部内容保存在服务器内存中。当再有请求时,系统将缓存中的相关数据直接输出,直到缓存... 设置页面输出缓存可以使用以下两种方式:一种是使用@ OutputCache指令,另一种是使用页面输出缓存API。@ OutputCac
基础部分: 一套分布式缓存数据库 扩展应用实例: @基于机器学习的数据分类系统。 @可应用在WEB页面加速。 @构建实时关键信息预测,例交通拥堵预测,道路设计建模。 @公安预警 ,实时环境况...
要求页面在无网状态先显示上一次显示的数据,这就涉及到缓存, 但是缓存又分为文件缓存,归档等,realm 太过笨重,归档太麻烦,最后选择了文件缓存, 看了很多博客,在参考了别人的缓存开源项目,功能太过简单单一化...
这里有缓存技术的简单介绍:https://www.jb51.net/article/4965.htm php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents() 下面是编码部分。 1.初始化函数,一般是设置页面缓存...
4.3 使用部分页面缓存 4.4 使用数据源缓存 4.5 使用数据缓存 4.6 使用SQL缓存依赖 4.7 小结 第5章 多语言本地化应用程序 5.1 设置当前文化 5.2 使用CultureInfo类 5.3 创建本地资源 ...
4.3 使用部分页面缓存 4.4 使用数据源缓存 4.5 使用数据缓存 4.6 使用SQL缓存依赖 4.7 小结 第5章 多语言本地化应用程序 5.1 设置当前文化 5.2 使用CultureInfo类 5.3 创建本地资源 ...
4.3 页面缓存 4.4 局部无缓存 4.5 静态化内容 第5章 动态脚本加速 5.1 opcode缓存 5.2 解释器扩展模块 5.3 脚本跟踪与分析 第6章 浏览器缓存 6.1 别忘了浏览器 6.2 缓存协商 6.3 彻底消灭请求 第7章 Web...
n43 使用部分页面缓存 n431 使用缓存后替换 n432 用户控件缓存 n433 共享用户控件的输出缓存 n434 以编程方式处理用户控件缓存 n435 创建用户控件缓存的文件依赖 n436 缓存动态载入的用户控件 n44 使用数据源缓存 n...