@OutputCache指令参数

Duration
指定页面或控件被缓存的时间 (以秒为单位). 设置页面或用户控件的缓存时间属性会为其建立相应的HTTP响应过期策略并且自动缓存输出结果。
!该属性是必须的,如果没有指定将会引发解析器错误。
Location
OutputCacheLocation枚举量Any|Client|Downstream|None|Server|ServerAndClient的取值。默认为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页面中是必不可少的。而且在已指定了VaryByControl参数的@OutputCache控件指令的情况下也如此。如果对其进行错误的包含将会引发解析器错误。如果您不想要为不同的已缓存内容指定参数,可以将其设置为none。如果想要指定所有的已缓存内容参数,可以设置为*
VaryByControl
指定用户控件的输出缓存列表,并以分号作为分隔。字符串由被定义在用户控件中的ASP.NET服务器端控件的ID属性组成。
!该参数在已指定了VaryByParam参数的@OutputCache指令的用户控件中是必需的。但不被已指定@OutputCache指令的ASP.NET页面所支持。

SqlDependency

         指定缓存失效的数据库依赖项。可以具体到数据库和表。

具体配置具体要经过几个步骤:

1.       注册连接池

命令:aspnet_regsql -S 192.168.30.220\SQL2K -U sa -P sa -ed -d pubs -et -t test专门注册连接池的工具 在sql数据库的数据 库改变了,才改变缓存。

参数: _s 制定注册的服务器
_u和 _p 说明是sql数据库的授权模式、

     _d 指定数据库的名字

_ed 说明缓存生效。

示例:

aspnet_regsql -S 192.168.30.220\SQL2K -U sa -P sa -ed -d pubs -et -t test

进行outputcache配置
<%@ OutputCache SqlDependency="pubs:test" Duration="100" VaryByParam="id"%>

2.       设置WebConfig       

<connectionStrings>

    <add         name="mySqlServer" connectionString="Server=192.168.30.220\SQL2K;Database=pubs;uid=sa;pwd=sa;"/> </connectionStrings>

3.      

<caching>

   <sqlCacheDependency enabled="true">

          <databases>

            <add

           

            connectionStringName="mySqlServer"

            pollTime="500" />

          </databases>

        </sqlCacheDependency>

</caching>

name:必须是数据库的名字

connectionStringName:连接字符串的名称

除了可以建立数据库依赖,还可以建立文件依赖或者其他依赖(可以看”参考文档5”)。

        

CacheProfile

用于定义与该页关联的缓存设置的名称。是可选属性,默认值为空字符("")。需要注意的是,包含在用户控件中的@ OutputCache指令不支持此属性。在页面中指定此属性时,属性值必须与Web.config文件<outputCacheSettings>配置节下的outputCacheProfiles元素中的一个可用项的名称匹配。如果此名称与配置文件项不匹配,将引发异常。

 

示例:

<%@ OutputCache CacheProfile="Cache30Seconds" %>

配置:

Web.config

<caching>

<outputCacheSettings>

    <outputCacheProfiles>

      <add name="Cache30Seconds" duration="30"

        varyByParam="none" />

    </outputCacheProfiles>

</outputCacheSettings>

</caching>

         Add节里面的各个属性和OutPutCache相对应

注意OutputCache生命优先于outputCacheProfiles配置

比如:页面缓存10s, outputCacheProfiles设置缓存20s,则最后缓存10s

NoStore

         bool值,用于决定是否阻止敏感信息的二级存储,默认值为 false

posted @ 2010-05-27 21:07  -Enchant  阅读(531)  评论(0编辑  收藏  举报