Azure 托管缓存服务的页面输出缓存提供程序

重要

Microsoft 建议所有新开发使用 Azure Redis 缓存。 有关选择 Azure 缓存产品/服务的当前文档和指南,请参阅 哪个 Azure 缓存产品/服务适合我?

Azure 托管缓存服务输出缓存提供程序是输出缓存数据的进程外存储机制。 此数据专门用于完整 HTTP 响应(页面输出缓存)。 此提供程序会插入 ASP.NET 4 中引入的新输出缓存提供程序扩展点。

有关输出缓存的示例,请参阅缓存会话状态和输出Caching示例

注意

对于本版本,输出缓存提供程序不支持 Web 窗体控制级输出缓存。

功能

下表描述了进程外存储输出缓存数据的优点:

  • 开发人员可以存储更多输出缓存数据,因为可缓存的数据数量的唯一有效上限是可用于缓存的内存累积量。

  • 回收 Web 应用程序时不会丢失输出缓存数据。 由于输出缓存数据存储在 IIS 工作进程外部,因此输出缓存数据在应用程序重启 ASP.NET 幸存下来。

  • 它可以通过缓存客户端属性使用压缩。

将输出缓存提供程序添加到 ASP.NET 项目

  1. 首先,请配置一个用于 ASP.NET 提供程序的缓存。

  2. 使用NuGet向 Visual Studio 中的 ASP.NET 项目添加缓存支持。

    重要

    执行这些步骤需要安装 NuGet Package Manager(2.6.40627.9000 或更高版本)。 若要安装最新的NuGet 程序包管理器,请参阅NuGet 程序包管理器

  3. 删除配置输出 缓存 的任何现有缓存元素。 请勿删除由NuGet包添加的注释缓存部分

  4. 在web.config文件中,取消注释 缓存 部分。

        <!-- Azure Caching output caching provider -->
        <!--Uncomment this section to use Azure Caching for output caching-->
        <caching>
          <outputCache defaultProvider="AFCacheOutputCacheProvider">
            <providers>
              <add name="AFCacheOutputCacheProvider" 
                type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache"
                cacheName="default"
                dataCacheClientName="default"
                applicationName="AFCacheOutputCache" />
            </providers>
          </outputCache>
        </caching>
    

以下列表提供了会影响输出缓存提供程序的可选配置更改。

  • 使用 add 元素的 cacheName 属性更改目标命名缓存。

  • 使用 add 元素的 dataCacheClientName 属性更改缓存客户端设置的源。 将此属性设置为web.config文件中现有 dataCacheClient 节的名称。

  • 通过更改关联的 dataCacheClient 部分中的设置来修改缓存客户端的行为。 例如,使用 isCompressionEnabled 属性启用压缩。

    <dataCacheClient name="default" isCompressionEnabled="true">
    

    有关可用配置选项的列表,请参阅 Azure 托管缓存服务的缓存客户端配置设置。 请注意,用于缓存的 ASP.NET 提供程序不支持二进制或自定义序列化类型。

  • 更改输出缓存提供程序的设置。 有关可用配置选项的列表,请参阅 Azure 托管缓存服务的 ASP.NET 页输出缓存提供程序配置设置

本节内容