***************** 【页面缓存的问题】 *********************

月之点点 2010-03-27 07:36:25
是这样的:

我想让整个页面缓存!就在头部加了
<% @ OutputCache Duration = "99999999" VaryByParam = " None " %>

可以说基本是永久缓存了!。。
这样整个页面就全部缓存了!!!!!!!。。。。。。。。

可是我不想全部缓存!!!!!页面里面有个 【lable】 里面的值是 每次访问读取数据库出来的。。。。

如何实现~~~~~~~~~~~
...全文
199 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
robert126 2011-10-16
  • 打赏
  • 举报
回复
学习了。
wangmouwen 2010-03-28
  • 打赏
  • 举报
回复
(1) Substitution控件应用

为提高应用程序性能,可能会缓存整个ASP.NET页面,同时,可能需要根据每个请求来更新页面上特定的部分。例如,可能要缓存页面的很大一部分,需要动态更新该页上与时间或者用户高度相关的信息。在这种情况下,推荐使用Substitution控件。Substitution控件能够指定页面输出缓存中需要以动态内容替换该控件的部分,即允许对整页面进行输出缓存,然后,使用Substitution控件指定页中免于缓存的部分。需要缓存的区域只执行一次,然后从缓存读取,直至该缓存项到期或被清除。动态区域,也就是Substitution控件指定的部分,在每次请求页面时都执行。Substitution控件提供了一种缓存部分页面的简化解决方案。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="CacheWebApp._16_4_5.WebForm2" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>缓存后替换示例</title>

</head>

<body>

<form id="form1" runat="server">

<div>

页面缓存的时间:<%= DateTime.Now.ToString() %>

</div>

<div>

真实(替换)的时间:<asp:Substitution ID="Substitution1" runat="server" MethodName="getCurrentTime" />

</div>

</form>

</body>



</html>




页面后台代码:

public partial class WebForm2 : System.Web.UI.Page

{

public static string getCurrentTime(HttpContext context)

{

return DateTime.Now.ToString();

}


随着页面的刷新,真实时间在变,而页面缓存的时间在指定的缓存时间内始终不变。
w13810953286 2010-03-28
  • 打赏
  • 举报
回复
看来问题有点复杂啊!
小_虎 2010-03-28
  • 打赏
  • 举报
回复
缓存有两种方式。
页面缓存是一种。还有一种是数据源缓存吧。

参考
newdigitime 2010-03-28
  • 打赏
  • 举报
回复
如果你觉得Substitution控件满足不了你的要求.

你可以改变一下你目前的做法.
不是将整个页面全缓存.而是在页面中放两个用户控件,其中一个用户控件进行长时间缓存.
另一个用户控件不使用缓存.
newdigitime 2010-03-28
  • 打赏
  • 举报
回复
方法很多,一是在页面中加入用户控件.可以实现局部缓存与局部不缓存


二,用母版页. 不变的用母版,需要变的用内容页显示
月之点点 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 jetaimejay 的回复:]
可以封装成用户控件,然后用局部缓存
[/Quote]


看题啊。。我要的不是局部缓存~~~~~~我的意思是 把整个页面缓存后!!更新里面的几条数据!!!

局部更新缓存!!!!!
月之点点 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 jetaimejay 的回复:]
哦,楼主不用用户控件,那有2个办法
1、用ajax调用
2、http://www.cnblogs.com/zhangronghua/archive/2008/02/26/1082806.html
[/Quote]
跟ajax没关系。。。。。也实现不了我要的功能。。里面只是介绍缓存。。。。这些我都会用。。。

我想要的功能是!!! 把整个页面缓存后!!里面的几条信息可以读取数据库!不用缓存!!!!

也就是 局部缓存更新 Substitution 只能接收string类型的数据!已经不能解决我要的问题了。。。
而且还不许是静态的。。。无法给页面的控件赋值~~~~~


月之点点 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 wangmouwen 的回复:]
(1) Substitution控件应用

为提高应用程序性能,可能会缓存整个ASP.NET页面,同时,可能需要根据每个请求来更新页面上特定的部分。例如,可能要缓存页面的很大一部分,需要动态更新该页上与时间或者用户高度相关的信息。在这种情况下,推荐使用Substitution控件。Substitution控件能够指定页面输出缓存中需要以动态内容替换该控件的部分,即允许对整页面进行输出缓存,然后……
[/Quote]
这个我会。。。。我说的是返回好多数据。。。。而且这个只能接收string 类型的数据。。。。。我想返回dataset类型的数据给datalist
海洋齐齐 2010-03-28
  • 打赏
  • 举报
回复
哦,楼主不用用户控件,那有2个办法
1、用ajax调用
2、http://www.cnblogs.com/zhangronghua/archive/2008/02/26/1082806.html
海洋齐齐 2010-03-28
  • 打赏
  • 举报
回复
可以封装成用户控件,然后用局部缓存
wjn161 2010-03-28
  • 打赏
  • 举报
回复
自己写代码用Cache会灵活得多。
月之点点 2010-03-27
  • 打赏
  • 举报
回复
来人啊。。。。。。。。。。。。。
月之点点 2010-03-27
  • 打赏
  • 举报
回复
求。。。。。。
月之点点 2010-03-27
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 yongxinai 的回复:]
<% @ OutputCache Duration = "99999999" VaryByParam = " None " %> 这句话是有好几个参数的,他有个参数是设置要缓存区域的=“缓存区域ID”,你googel下找找看吧。具体忘了!
[/Quote]

嗯。我可找了。。。。只能让 缓存区的ID缓存。。。那么其他的地方就不缓存了。。。
yongxinai 2010-03-27
  • 打赏
  • 举报
回复
<% @ OutputCache Duration = "99999999" VaryByParam = " None " %> 这句话是有好几个参数的,他有个参数是设置要缓存区域的=“缓存区域ID”,你googel下找找看吧。具体忘了!
月之点点 2010-03-27
  • 打赏
  • 举报
回复
-。-!缓存跟ajax有什么关系啊0,0!!!
woaixiayutian 2010-03-27
  • 打赏
  • 举报
回复
AJAX
月之点点 2010-03-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 paul_c 的回复:]
要不你就把 DataList封装成一个用户控件,

再在用户控件里面加上OutputCache指令设置它的缓存时间为1秒

label取得的数据不会经常变吧?
[/Quote]

我不要弄 用户控件。。我就要在本页。。。。

月之点点 2010-03-27
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 woaixiayutian 的回复:]
上面的代码能看懂不?
[/Quote]
-。-!!!你给是缓存对象。。把dataset 保存到缓存里。。。。这个我会!!!!

我要的是 如题!
加载更多回复(16)

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧