zoukankan      html  css  js  c++  java
  • 缓存 ASP.NET 页

    ASP.NET 允许您在具有 HTTP 1.1 功能的机制上缓存动态页的整个响应内容,这些机制指浏览器、代理服务器和您的应用程序所驻留的 Web 服务器等。这为您提供了一个强有力的方式来提高 Web 应用程序的性能。此技术叫做输出缓存,它允许从缓存满足后面的对特定页的请求,这样当后面的请求发生时就不需要运行最初创建页的代码。使用该技术来缓存站点中最经常访问的页可以充分地提高 Web 服务器的吞吐量(通常以每秒的请求数计算)。

    当操作页的输出缓存时,您可以选择高级别的声明性 API 或低级别的编程 API。您可以通过将@ OutputCache 指令包括在该页的 .aspx 文件中使用前者。@ OutputCache 指令可以满足当要缓存页输出时几乎所有的一般需求。下面的指令(当包括在 .aspx 文件中时)为动态生成页的缓存输出设置 60 秒的到期时间。

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    警告   当使用 @ OutputCache 指令时,DurationVaryByParam 属性是必需的。如果您不将它们包括在其中,则当首次请求页时将出现分析器错误。如果您不想使用 VaryByParam 属性提供的功能,则必须将其值设置为 None。有关使用 VaryByParam 属性的更多信息,请参见缓存页的多个版本

    ASP.NET 还包括一组 API,它们通过 HttpCachePolicy 类以编程方式控制页的输出缓存的到期时间和策略。通过 HttpResponse.Cache 属性可以使用该类、它的方法和它的属性。您又可以通过 Page.Response 属性从 Page 对象访问该属性。

    例如,下面的代码(当包括在页的代码声明块或其代码隐藏类中时)使用 HttpCachePolicy.SetExpires 方法为动态生成的页设置 60 秒的到期时间。

    [C#]
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    [Visual Basic]
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))

    一旦您启用了输出缓存,该页的第一个 HTTP GET 请求会在您指定的一段时间内将其动态内容放置在输出缓存中。输出缓存满足后面对该页的 GET、HEAD 或 POST 请求,直到超过您指定的时间量。

    您还可以用声明或编程的方式,在请求流中启用或禁用支持缓存的设备的页输出缓存。在页的 @ OutputCache 指令中,可以使用 Location 属性指定是否将页输出缓存在代理服务器、浏览器客户端、原 Web 服务器或所有这些设备中,或者不缓存在这些设备中的任何一个。可以以编程方式执行同样的操作,使用 HttpCachePolicy.SetCacheability 方法为页指定适当的 HttpCacheability 枚举值。有关更多信息,请参见设置页的可缓存性

    还可以对由带有查询字符串参数的 GET 请求或带有参数的窗体 POST 请求生成的响应进行缓存,但必须使用 @ OutputCache 指令的 VaryByParam 属性显式启用对传递参数的缓存。有关更多信息,请参见缓存页的多个版本

    请记住,要以编程方式对输出缓存进行的任何操作必须在 .aspx 文件的代码声明块中进行,或在与该 .aspx 文件关联的代码隐藏类中进行。

  • 相关阅读:
    逆向笔记——PE文件相对虚拟地址(RVA)转文件偏移地址(FOA)
    逆向笔记——在PE任意一个节中添加代码
    FFT的物理意义
    Hilbert-Huang Transform: matlab 希尔伯特-黄变换: matlab实现
    交叉验证 Cross validation
    AAL template: ROI to brain lobe
    Types of intraclass correlation coefficience (ICC)
    统计:P值 & α值
    Notes: sensitivity & specificity
    Meet Github
  • 原文地址:https://www.cnblogs.com/zsxfbj/p/140396.html
Copyright © 2011-2022 走看看