导言:在56和57章探讨的缓存技术使用的是基于时间的缓存周期,当过了某段时间后便将缓存数据从内存清除。当设置缓存时间为x秒时,数据在x秒内都是“新”的。当然,就像在60章谈到的那样,对静态数据来说,x可延伸到web应用程序的整个生命周期(lifetime)。当缓存数据时,基于时间周期的技术因为其易用性而常常被采用,不过又常常不那么完美。理想的状态是这样的:数据库数据还是应缓存在内存,直到源数据(underlying data)发生改变时...
在网站中要做一个清理缓存的功能(也就是在缓存为到期之前就强制缓存过期),程序中有的地方使用的HttpRuntime.Cache来做的缓存,而和数据库交互部分则使用ObjectDataSource提供的缓存机制。清理HttpRuntime.Cache的缓存很简单,只要 List<string> keys = new List<string>(); // retrieve application Cache enumerator IDictionaryEnumerator enumerator = HttpRuntime.Cache.GetEnumerator(); // copy all keys that currently...
本文实例讲述了ASP.NET缓存处理类。分享给大家供大家参考。具体如下: ASP.NET 缓存处理类。 用法: Just copy this code into a new class file (.cs) and add it to your ASP .NET website. One thing to keep in mind is that data stored in ASP .NET Cache can be accessible across all sessions. So when creating a cacheID for the object to be stored, it must be unique (or it could be overwritten). I usually stor...
本文实例讲述了ASP.NET数据库缓存依赖,分享给大家供大家参考。具体如下: 一般在ASP.NET中,Cache类最酷的特点是它能根据各种依赖来良好的控制自己的行为。以文件为基础的依赖是最有用的,文件依赖项是通过使用 Cache.Insert 并提供引用文件的 CacheDependency 对象添加的代码如下:Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("authors.xml"))); 但是当我们想让缓存根据数据库中表的变化而失效并重建该缓...
本文实例讲述了asp.net中SqlCacheDependency缓存技术,对于大型web程序设计来说具有很高的实用价值。具体如下: 对于访问量大,但更新较少的网站中使用缓存技术,可以大大提高运行效率;加上.NET 2.0提供的缓存依赖机制,我们可以很方便的对缓存进行管理更新;以下是本人学习的一点心得体会,希望能够起到抛砖引玉的作用。 建立缓存依赖,实现代码如下: /**//// <summary> /// 建立缓存依赖项 /// </summary> /// <returns></ret...
缓存技术是asp.net程序设计中非常实用的技术,也是大型web程序设计中比较常见的技术。本文就以实例形式对此加以说明。具体如下: asp.net页面的SqlCacheDependency Sql缓存: Cahce/SqlCachePage.aspx页面代码如下: <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SqlCachePage.aspx.cs"Inherits="Cahce_SqlCachePage" Title="页的Sql缓存" %> <%@ OutputCache Duration="999999" SqlD...
IIS会按文件地址及参数将文件缓存到客户端,以便再次访问该内容时速度更快。如果要取消这种机制则需要禁止缓存文件。 一、编程方式 Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); Response.Expires = 0; Response.CacheControl = "no-cache";二、代码方式代码如下: <%@ OutputCache Duration="1" varybyparam="none" Location= "None" %>
1、在Asp页面首部<head>加入 代码如下: Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires = 0 Response.CacheControl = "no-cache" Response.AddHeader "Pragma", "No-Cache" 2、在HtML代码中加入 代码如下: <HEAD> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> ...
1.页面缓存 要实现页面输出缓存,只要将一条 OutputCache 指令添加到页面即可。 <%@ OutputCache CacheProfile=" " NoStore="True | False" Duration="#ofseconds" Shared="True | False" Location="Any | Client | Downstream | Server | None | ServerandClient " SqlDependency="database/table name pair | CommandNotification " VaryByControl="controlname" VaryByCustom="browser | customstring" Va...
代码如下:/// <summary> /// 设置页面不被缓存 /// </summary> private void SetPageNoCache() { Response.Buffer = true; Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; Response.AppendHeader("Pragma", "No-Cache"); } 1、取消缓存 (2)客户端取消 代码如下:<html> <head> <meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-...
使用模式窗口showModalDialog()弹出页面在asp.net中经常用到 用的最多的就是点击“修改”按钮,弹出修改页面;修改成功之后,关闭修改页面,刷新父页面。 目前存在的一个问题是,刷新完父页面之后,再点击修改按钮弹出修改页面,修改页面显示的数据却不是修改后的数据,还是第一次弹出修改页面的旧数据,这里就涉及到了清除模式窗口缓存数据的问题。 这涉及到ShowModalDialog缓存机制的问题,需要我们手动添加一些代码来清除缓存...
一、缓存概念,缓存的好处、类型。-------------------------------------------------------------------------------- 缓存是一种用空间换取时间的技术,通俗点也就是说把你得到的数据存放在内存中一段时间,在这短时间内服务器不去读取数据库、或是真实的数据源,而是读取你存放在内存中的数据,这里你会疑惑怎么设置存放数据,能存放什么样子的数据,存放时间的设置,真实数据源数据改变服务器不就读取存在偏差?别急...
以前没有注意到这个问题,今天在看Blog的时候发现有篇文章不错,或许以后值得借鉴: 一般情况下,WEB页面都会在Internet临时文件夹中有一个临时文件.我在操作IE时会出现这种情况:假如说有一个页面Page1.aspx,在我第一次访问后,它会在我的Internet临时文件夹里有一个Page1.aspx文件生成.之后,如果我改了Page1.aspx的数据后再次访问该页面,发现IE并没有对这个Page1.aspx的数据进行更新,反而打开的是我第一次访问的页面.为什么会这样,是...
其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。 Session则保存对话信息。 Application则是保存在整个应用程序范围内的信息,相当于全局变量。 Session用的比较多。 Session缓存与Cache缓存的区别,可以参考如下的几点: 1、最大的区别是Cache提供缓存依赖来更新数据,而Session只能依靠定义的缓存时间来判断缓存数据是否有效。 2、即使应用程序终止,只要Cache.Add方法中定义的缓存时间未过期,下次开启应用...
输出缓存的前世今生 ASP.NET 1.0引入输出缓存的概念,这使得开发者可以缓存页面、控件、控制器以及HTTP响应的输出到内存中。在后续的Web请求,ASP.NET就可以使用缓存中的内容更快响应。 ASP.NET的输出缓存系统足够灵活,使得我们可以根据不同的查询字符串或者表单post参数来缓存不同版本的内容。例如test.aspx?category=Vegerable 和 test.aspx?category.aspx?category=Meat。它也允许我们根据浏览器类型或者用户语言偏好来缓存不同...