zoukankan      html  css  js  c++  java
  • OutputCache祥解

    当用户訪问页面时,整个页面将会被server保存在内存中,这样就对页面进行了缓存。当用户再次訪问该页,页面不会再次运行数据操作,页面首先会检查server中是否存在缓存,假设缓存存在,则直接从缓存中获取页面信息,假设页面不存在,则创建缓存。

    页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,假设一个页面须要运行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。使用@OutputCatch指令可以声明页面输出缓存,演示样例代码例如以下所看到的。

    <%@ OutputCache Duration="120" VaryByParam="none" %>

    上述代码使用@OutputCatch指令声明了页面缓存,该页面将被缓存120秒。@OutputCatch指令包含10个属性,通过这些属性可以分别为页面的不同情况进行缓存设置,经常使用的属性例如以下所看到的:

    q CacheProfile:获取或设置OutputCacheProfile名称。

    q Duration:获取或设置缓存项须要保留在缓存中的时间。

    q VaryByHeader:获取或设置用于改变缓存项的一组都好分隔的HTTP标头名称。

    q Location:获取或设置一个值,该值确定缓存项的位置,包含AnyClintDownstreamNoneServerServerAndClient。默认值为Any

    q VaryByControl:获取或设置一簇分好分隔的控件标识符,这些标识符包括在当前页或用户控件内,用于改变当前的缓存项。

    q NoStore:获取或设置一个值,该值确定是否设置了“Http Cache-Controlno-store”指令。

    q VaryByCustom:获取输出缓存用来改变缓存项的自己定义字符串列表。

    q Enabled:获取或设置一个值,该值指示是否对当前内容启用了输出缓存。

    q VaryByParam:获取查询字符串或窗口POST參数的列表。

    通过设置对应的属性,能够为页面设置对应的缓存,当须要为Default.aspx设置缓存项时,能够使用VaryByParam属性进行设置,演示样例代码例如以下所看到的。

    <%@ OutputCache Duration="120" VaryByParam="none" %>

    上述代码使用了Duration属性和VarByParam属性设置了当前页的缓存属性。为一个页面进行总体的缓存设置往往是没有必要的,经常还会造成困扰,比如Default.aspx?id=1Default.aspx?id=100在缓存时可能呈现的页面是同样的,这往往不是开发者所希望的。通过配置VarByParam属性可以指定缓存參数,演示样例代码例如以下所看到的。

    <%@ OutputCache Duration="120" VaryByParam="id" %>

    上述代码则通过參数id进行缓存,当id项不同一时候,ASP.NET所进行的页面缓存也不尽同样。这样保证了Default.aspx?id=1Default.aspx?id=100在缓存时所显示的页面并不一致。VarByHeaderVarByCustom主要用于依据訪问页面的client对页面的外观或内容进行自己定义。在ASP.NET中,一个页面可能须要为PC用户和MOBILE用户呈现输出,因此能够通过client的版本号不同来缓存不同的数据,演示样例代码例如以下所看到的。

    <%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>

    上述代码则为每一个浏览器单独设置了缓存条目。

  • 相关阅读:
    [一起面试AI]NO.9 如何判断函数凸或非凸
    [一起面试AI]NO.8 在机器学习中,常用的损失函数有哪些?
    [一起面试AI]NO.5过拟合、欠拟合与正则化是什么?
    [一起面试AI]NO.4特征工程主要包括什么?
    [一起面试AI]NO.3分类问题常用的性能度量指标有哪些
    MySQL中自增ID修改起始值
    折半查找算法(Python版)
    彻底解决安卓7.0及以上版本抓包https失败
    Charles抓包2-Charles抓取https请求
    Charles抓包1-Charles安装汉化(附正版注册码)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4302041.html
Copyright © 2011-2022 走看看