`
pcajax
  • 浏览: 2112554 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ASP+页缓存OutputCache Duration用法

阅读更多

 

声明的方式控制   ASP.NET   页或页中包含的用户控件的输出缓存策略。有关输出缓存的更多信息,请参见   ASP.NET   缓存功能。  
   
  <%@   OutputCache   Duration="#ofseconds"   Location="Any   |   Client   |   Downstream   |   Server   |   None"   Shared="True   |   False"   VaryByControl="controlname"   VaryByCustom="browser   |   customstring"   VaryByHeader="headers"   VaryByParam="parametername"   %>  
  属性  
  Duration    
  页或用户控件进行缓存的时间(以秒计)。在页或用户控件上设置该属性为来自对象的   HTTP   响应建立了一个过期策略,并将自动缓存页或用户控件输出。    
  注意       该属性是必需的。如果未包含该属性,将出现分析器错误。  
  Location    
  OutputCacheLocation   枚举值之一。默认值为   Any。    
  警告       包含在用户控件(.ascx   文件)中的   @   OutputCache   指令不支持此属性。  
  Shared    
  一个布尔值,确定用户控件输出是否可以由多个页共享。默认值为   false。有关详细信息,请参见备注部分。    
  注意       包含在   ASP.NET   页(.aspx   文件)中的   @   OutputCache   指令不支持此属性。  
  VaryByCustom    
  表示自定义输出缓存要求的任意文本。如果赋予该属性的值是   browser,缓存将随浏览器名称和主要版本信息的不同而不同。如果输入了自定义字符串,您必须在应用程序的   Global.asax   文件中重写   HttpApplication.GetVaryByCustomString   方法。    
  VaryByHeader    
  分号分隔的   HTTP   标头列表,用于使输出缓存发生变化。当将该属性设为多标头时,对于每个指定的标头,输出缓存都包含一个请求文档的不同版本。    
  注意       设置   VaryByHeader   属性在所有   HTTP   1.1   缓存中启用缓存项,而不仅限于   ASP.NET   缓存。用户控件中的   @   OutputCache   指令不支持此属性。  
  VaryByParam    
  分号分隔的字符串列表,用于使输出缓存发生变化。默认情况下,这些字符串与用   GET   方法属性发送的查询字符串值对应,或与用   POST   方法发送的参数对应。当将该属性设置为多参数时,对于每个指定的参数,输出缓存都包含一个请求文档的不同版本。可能的值包括   none、*   和任何有效的查询字符串或   POST   参数名称。    
  警告       在输出缓存   ASP.NET   页时,该属性是必需的。它对于用户控件也是必需的,除非已经在用户控件的   @   OutputCache   指令中包含了   VaryByControl   属性。如果没有包含它,则发生分析器错误。如果您不想使缓存内容随任何指定参数发生变化,请将该值设为   none。如果要使输出缓存根据所有参数值发生变化,请将属性设置为   *。  
  VaryByControl    
  一个分号分隔的字符串列表,用于更改用户控件的输出缓存。这些字符串代表在用户控件中声明的   ASP.NET   服务器控件的   ID   属性值。有关详细信息,请参见缓存   ASP.NET   页的某些部分。    
  注意       除非已经包含了   VaryByParam   属性,否则在用户控件   @   OutputCache   指令中,该属性是必需的。ASP.NET   页中的   @   OutputCache   指令不支持该属性。  
  备注  
  为页输出缓存设置值与通过   HttpResponse.Cache   属性操作   HttpCachePolicy.SetExpires   和   HttpCachePolicy.SetCacheability   方法相同。如果在创建用户控件时设置   VaryByParam   属性,可实现该控件的部分页缓存。  
   
  如果   Web   窗体页要求用户查看授权,则输出缓存将   Cache-Control   HTTP   标头设置为   private。有关所有这些主题的详细信息,请参见缓存   ASP.NET   页。  
   
  如果将   Shared   属性设置为   true,则缓存的用户控件输出可以被多个   Web   窗体页访问。如果不设置为   true,默认行为是为包含用户控件的每一页缓存用户控件输出的一个版本。通过启用   Shared   属性,可以潜在地节省大量的内存。有关详细信息,请参见缓存   ASP.NET   页的某些部分。  
   
  示例  
  下面的示例说明了如何设置页或用户控件进行输出缓存的持续时间。  
   
  <%@   OutputCache   Duration="100"   VaryByParam="none"   %>  
  下一个示例说明了如何指示输出缓存来对页或用户控件进行缓存,此缓存处理是根据来自窗体的   POST   或来自查询字符串的位置和计数窗体参数进行的。每个收到的具有不同位置或计数参数(或两者)的   HTTP   请求都进行   10   秒的缓存处理。带有相同参数值的任何后继请求都将从缓存中得到满足,直至超过输入的缓存期。  
   
  <%@   OutputCache   Duration="100"   VaryByParam="location;count"   %>  
分享到:
评论

相关推荐

    ASP.NET OutputCache详解

    当用户再次访问该页,页面不会再次执行数据操作,页面首先会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存。 页面输出缓存适用于那些数据量较多,而不会进行...

    C#中缓存的基本使用方法

    前言 缓存主要是为了提高数据的读取速度。...1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  &lt;&#37;@ OutputCache Duration=100 VaryByParam=none %&gt;  Duration:

    asp.net 页面输出缓存

    @ OutPutCache Duration=”60″ VaryByParam=”none”%&gt; Duration:缓存时间 VaryByParam:通过参数来更新缓存的内容 还有其他的一些属性 CacheProfile:调用WebConfig中的缓存时间 例如:WebCofig中 代码如下: ...

    ASP.NET缓存 方法和最佳实践

    相比 ASP.NET 的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET 开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外开销,而不必担心性能会受到太大的...

    充分利用ASP.NET的三种缓存提高站点性能的注意方法

    ASP.NET提供三种主要形式的缓存:页面级输出缓存、用户控件级输出缓存(或称为片段缓存)和缓存API。 尽早缓存;经常缓存 您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI或输出层添加缓存支持。...

    YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

    页面缓存 OutputCache 以及对象缓存 HttpRuntime.Cache 如果你提交了文章发现首页没有更新,那是因为默认设置了5分钟的页面缓存。 webconfig中caching节点处,你可以在这里修改设置。 &lt;add name="CacheMain" ...

    asp.net(C#)禁止缓存文件不让文件缓存到客户端

    IIS会按文件地址及参数将文件缓存到客户端,以便再次访问该内容时速度更快。如果要取消这种机制则需要禁止缓存文件。 一、编程方式 Response.Buffer = true;...@ OutputCache Duration=”1″ vary

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

    @ outputcache duration=”10″ varybyparam=”none” %&gt; &lt;!–设置缓存时间为10秒–&gt; &lt;!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...

    Asp.net 缓存技术

    用了缓存,其实就是由原来的:响应-&gt;执行-&gt;送显,变成: 响应-&gt;送显。中间的“执行”就省掉了,提高了效率。一般有四种类型的缓存技术。...@ OutputCache Duration="3600" VaryByParam="state" Dis

    一个伴随ASP.NET从1.0到4.0的OutputCache Bug介绍

    @ OutputCache Duration=”300″ VaryByParam=”*”%&gt; 上面的设置表示:缓存5分钟,根据不同的查询字符串更新缓存。Location使用的是默认值Any,也就是可以在浏览器、代理服务器、Web服务器三个地方进行缓存,在...

    个人博客系统源码

    页面缓存 OutputCache 以及对象缓存 HttpRuntime.Cache 如果你提交了文章发现首页没有更新,那是因为默认设置了5分钟的页面缓存。 webconfig中caching节点处,你可以在这里修改设置。 &lt;add name="CacheMain" ...

    YQBlog个人博客系统源码201071

    页面缓存 OutputCache 以及对象缓存 HttpRuntime.Cache 如果你提交了文章发现首页没有更新,那是因为默认设置了5分钟的页面缓存。 webconfig中caching节点处,你可以在这里修改设置。 &lt;add name="CacheMain" ...

    ASP.Net缓存总结及分析 分享

    @ OutputCache CacheProfile=” ” NoStore=”True | False” Duration=”#ofseconds” Shared=”True | False” Location=”Any | Client | Downstream | Server | None | ServerandClient ” SqlDependency=”...

Global site tag (gtag.js) - Google Analytics