• Asp.net Web.Config


    记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用。

      一、caching元素列表

     
    元素说明

    cache

    定义全局应用程序缓存设置。

    可选的元素。

    outputCache

    指定应用程序范围的输出缓存设置。

    可选的元素。

    outputCacheSettings

    指定可以应用于应用程序中页的输出缓存设置。

    可选的元素。

    sqlCacheDependency

    为 ASP.NET 应用程序配置 SQL 缓存依赖项。

    可选的元素。

      1、cache

        属性

    特性

    说明

    disableMemoryCollection

    获取或设置一个值,该值指示是否当计算机处于内存压力下时是否禁止执行缓存内存回收。

    可选的 Boolean 特性。

    disableExpiration

    获取或设置一个值,该值指示是否禁用缓存过期。 如果禁用,则缓存项不会过期,并且不会对过期缓存项执行后台清理。

    可选 Boolean 特性。

    privateBytesLimit

    获取或设置一个值,该值指示在缓存开始刷新过期项并尝试回收内存之前应用程序的最大专用字节大小。 此限制同时包括缓存所使用的内存量以及运行应用程序的正常内存开销。 如果设置为零,则指示 ASP.NET 将使用自己的试探法确定何时开始回收内存。

    可选 Int64 特性。

    percentagePhysicalMemoryUsedLimit

    获取或设置一个值,该值指示在缓存开始刷新项并尝试回收内存之前可使用的计算机的物理内存的最大百分比。请注意,此限制适用于使用中的总物理内存。 设置为 0 会导致在插入项后立即将其移除。

    可选 Int32 特性。

    privateBytesPollTime

    获取或设置一个值,该值指示两次轮询应用程序专用字节内存使用量之间的时间间隔。

    可选 TimeSpan 特性。

         位置

      caching -> configuration-> system.web  //该元素放于<system.web>下的<configuration>节点下

         示例:

    <cache disableMemoryCollection = "false"     //不禁止内存回收
      disableExpiration = "false"            //缓存不会过期
      privateBytesLimit = "20971520"          //当内存到这个值时,开始回收内存
      percentagePhysicalMemoryUsedLimit = 60"     //当程序使用超过60%的内存时,开始回收
      privateBytesPollTime = "00:01:00"/>       //1秒检测一次当前程序所有内存大小

      2、outputCache

        属性

    特性

    说明

    enableOutputCache

    可选的 Boolean 特性。

    启用/禁用页输出缓存。

    如果禁用,则无论是否具有编程性或声明性设置,都不会缓存页。

    默认值为 true。

    enableFragmentCache

    可选的 Boolean 特性。

    启用/禁用应用程序片段缓存。

    如果禁用,则无论是否使用 @ OutputCache 指令或缓存配置文件,都不会缓存页。 包括一个缓存控件标头,指示上游代理服务器以及浏览器客户端不应尝试缓存页输出。

    默认值为 false。

    sendCacheControlHeader

    可选的 Boolean 特性。

    获取或设置一个值,该值指示默认情况下 cache-control:private 标头是否由输出缓存模块发送。

    默认值为 false。

    omitVaryStar

    可选的 Boolean 特性。

    允许/禁止在响应中发送 HTTP“Vary: *”标头。 默认设置为 False,表示为输出缓存页发送“Vary: *”标头。

    默认值为 false。

    defaultProvider

    可选的字符串特性。

    获取或设置默认输出缓存提供程序。

    默认值为“AspNetInternalProvider”。 这是 ASP.NET 提供的内存缓存。

        位置

        caching -> configuration-> system.web 

        示例

    <outputCache enableOutputCache = "true"     //启用缓存页
                 enableFragmentCache = "true"    //启用程序片段缓存
                 sendCacheControlHeader = "true"  //cache-control:private 标头由输出缓存模块发送
                 omitVaryStar = "false"       //表示为输出缓存页发送“Vary: *”标头。
                 defaultProvider="AspNetInternalProvider">  //输出缓存提供程序。
    </outputCache>

        子元素providers 元素

    add

    可选元素。

    将自定义输出缓存提供程序添加到应用程序可用提供程序的集合。

    clear

    可选元素。

    从应用程序可用提供程序的集合中移除所有配置的输出缓存提供程序。

    remove

    可选元素。

    从应用程序提供程序的集合中移除指定的输出缓存提供程序。

         示例:

    <providers>
        <add     />
        <clear />
        <remove     />
    </providers>

         3、

        

        4、sqlCacheDependency

    特性

    说明

    enabled

    必选的 Boolean 特性。

    指示是否轮询更改。

    pollTime

    可选 Int32 特性。

    设置 SqlCacheDependency 类实例轮询数据库表更改的频率。 此值对应于连续两次轮询之间的毫秒数。 不能将其设置为小于 500 毫秒的值。

    默认值为 1 分钟。

        子元素

    元素

    说明

    databases

    可选元素。

    包含一个或多个可以由 SqlCacheDependency 类实例使用的命名的 SQL 连接。

        位置

      caching -> configuration-> system.web 

        SQL依赖缓存配置

     
        <compilation debug="true" targetFramework="4.0" />
        <caching>
          <sqlCacheDependency enabled="true" pollTime="1000">  //此行配置的意思是,开启数据库缓存,轮询时间为1秒,这是为了能够快速看到更改效果
            <databases>
              <add connectionStringName="ApplicationServices" name="con"/>
            </databases>
          </sqlCacheDependency>
        </caching>
     

    三、示例

      页面输出缓存配置示例:

     
    <outputCacheSettings>
      <outputCacheProfiles>
        <add name="ServerOnly"   
          duration="60"             //过期时间为60秒
          varyByCustom="browser" 
          location="Server" />
      </outputCacheProfiles>
    </outputCacheSettings>
  • 相关阅读:
    四个通用分页存储过程(来源于www.codeproject.com)
    C#2.0 print winform 打印窗体数据试试
    C# 2.0 Graphics 画雪人
    [转]Asp.Net 上传大文件专题(1)概述:上传大文件的难点
    [转]Asp.Net 上传大文件专题(2)页面生成流程
    [转]C# 调用sql 2000存储过程
    [转]Asp.Net 上传大文件专题
    [转]Asp.Net 上传大文件专题(3)从请求流中获取数据并保存为文件[下]
    c#中调用Ffmpeg转换视频格式的问题
    [转]Asp.Net 上传大文件专题(3)从请求流中获取数据并保存为文件[上]
  • 原文地址:https://www.cnblogs.com/feng-NET/p/4540694.html
Copyright © 2020-2023  润新知