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

文件1:Deafault.aspx


代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ outputcache duration="10" varybyparam="none" %>

<!--设置缓存时间为10秒-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head id="Head1" runat="server">
<title>Substitution控件实例</title>
</head>
<body>
<form id="Form1" runat="server">

<h1>Substitution控件实例演示</h1>
您好<b>
<asp:substitution id="m1" methodname="GetUser" runat="Server">
</asp:substitution></b><br>
当前时间[非缓存]:

<b><asp:Substitution ID="m2" runat="server" MethodName="GetTime" /></b>
<br />
缓存: <%=DateTime.Now.ToLongTimeString() %>
<asp:Button ID="Button1" runat="server" Text="刷新" />
</form>
</body>
</html>

文件2:Deafault.aspx.cs


代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{

//下面定义了两个表态方法,可以使用Substitution控件调用,以实现这两个方法每次刷新时都要调用

public static string GetUser(HttpContext context)
{
return context.User.Identity.Name;
}
public static String GetTime(HttpContext context)
{
return DateTime.Now.ToString();
}
}

(0)

相关推荐

  • asp.net 页面输出缓存

    主要用于不经常更新和修改,而在第一次编译是时要经过大量处理的数据.页面输出缓存是缓存的整个页面 使用很简单<%@ OutPutCache Duration="60" VaryByParam="none"%> Duration:缓存时间 VaryByParam:通过参数来更新缓存的内容 还有其他的一些属性 CacheProfile:调用WebConfig中的缓存时间 例如:WebCofig中 复制代码 代码如下: <system.web> &l

  • asp.net页面SqlCacheDependency缓存实例

    缓存技术是asp.net程序设计中非常实用的技术,也是大型web程序设计中比较常见的技术.本文就以实例形式对此加以说明.具体如下: asp.net页面的SqlCacheDependency Sql缓存: Cahce/SqlCachePage.aspx页面代码如下: <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile=&qu

  • ASP.NET页面在IE缓存的清除办法

    以前没有注意到这个问题,今天在看Blog的时候发现有篇文章不错,或许以后值得借鉴: 一般情况下,WEB页面都会在Internet临时文件夹中有一个临时文件.我在操作IE时会出现这种情况:假如说有一个页面Page1.aspx,在我第一次访问后,它会在我的Internet临时文件夹里有一个Page1.aspx文件生成.之后,如果我改了Page1.aspx的数据后再次访问该页面,发现IE并没有对这个Page1.aspx的数据进行更新,反而打开的是我第一次访问的页面.为什么会这样,是因为IE自动(默认)

  • 让html页面不缓存js的实现方法

    本文实例讲述了让html页面不缓存js的实现方法.分享给大家供大家参考.具体实现方法如下: 很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不方便了,本文就来谈论如何解决这一问题,下面一起来看看. 不缓存JS的方法其实挺简单,CSS在某种条件下也可以如此使用: 先让大家了解下不缓存的一个简单的原理: 当浏览不同Url时,浏览器会自动将当前访问的地址进行一次缓存:而第二次访问时着调用缓存下来的页面,从而达到页面快速加载(页面加载优

  • asp.net 使用驻留在页面中的Cache缓存常用可定时更新的数据

    就是希望让Web应用程序从一开始运行到结束都一直存在,有人就说为什么不用Application呢?其实Cache是可以一段时间内自动更新数据的,而Application就无法做成这样的,另外Application在Web这种高并发的系统中一定要考虑线程安全的问题,Application本身就不是线程安全的,而Cache就是线程安全.所以一般我都会在很多对象中我只从Web开始运行的时候从数据库或文件里获取一次数据,在不同的页面中,都是使用Cache的,而且Cache中的数据可能弄成自动更新的,所以

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

    静态页面全部内容保存在服务器内存中.当再有请求时,系统将缓存中的相关数据直接输出,直到缓存数据过期.这个过程中,缓存不需要再次经过页面处理生命周期.这样可以缩短请求响应时间,提高应用程序性能.很显然,页面输出缓存适用于不需要频繁更新数据,而占用大量时间和资源才能编译生成的页面.对于那些数据经常更新的页面,则不适用.默认情况下,ASP.NET 2.0启用了页面输出缓存功能,但并不缓存任何响应的输出.开发人员必须通过设置,使得某些页面的响应成为缓存的一部分. 设置页面输出缓存可以使用以下两种方式:一

  • ASP.NET页面缓存常见的4种方式

    本文为大家分享了4种常见的ASP.NET页面缓存方式,供大家参考,具体内容如下 1.分布式缓存Memcached,教程下载 2.内存缓存,此占用服务器资源 #region 内存缓存 public class MemoryCache { #region 写 /// <summary> /// 向内存写入数据缓存 /// </summary> /// <remarks>TOMMYHU2011-7-28 10:25创建</remarks> /// <para

  • 设置ASP.NET页面不被缓存(客户端/服务器端取消缓存方法)

    复制代码 代码如下: /// <summary> /// 设置页面不被缓存 /// </summary> private void SetPageNoCache() { Response.Buffer = true; Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; Res

  • ASP.NET 4中的可扩展输出缓存(可以缓存页面/控件等)

    输出缓存的前世今生 ASP.NET 1.0引入输出缓存的概念,这使得开发者可以缓存页面.控件.控制器以及HTTP响应的输出到内存中.在后续的Web请求,ASP.NET就可以使用缓存中的内容更快响应. ASP.NET的输出缓存系统足够灵活,使得我们可以根据不同的查询字符串或者表单post参数来缓存不同版本的内容.例如test.aspx?category=Vegerable 和 test.aspx?category.aspx?category=Meat.它也允许我们根据浏览器类型或者用户语言偏好来缓

  • Asp.net禁用页面缓存的方法总结

    1.在Asp页面首部<head>加入  复制代码 代码如下: Response.Buffer   =   True      Response.ExpiresAbsolute   =   Now()   -   1      Response.Expires   =   0      Response.CacheControl   =   "no-cache"      Response.AddHeader   "Pragma",   "No-

随机推荐