惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
美团技术团队
N
Netflix TechBlog - Medium
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
The Cloudflare Blog
量子位
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - -Enchant

Linux上搭建Asp.net MVC3环境(CentOS + Nginx + Mono) 《单例模式》你需要注意的问题 系统框架整理 Extjs prompt 显示密码框 Python网页抓取、模拟登录 单点登录(SSO)的一点思考 Jquery以JSON方式调用WebService WCF初探 关于抓取百度搜索内容 iPhone开发环境搭建(备忘) SMTP/POP3命令简介(转) C/S模式下 简单的定时任务功能 Asp.net MVC2学习笔记索引 Oracle 调优 Oracle常见错误 关于ACL权限控制【ASP.NET MVC2】 c#递归生成XML ASP.NET MVC2 Ajax返回JSON 引用类型的对象复制(浅复制和深复制)
@OutputCache指令参数
-Enchant · 2010-05-27 · via 博客园 - -Enchant
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