在应用程序请求路由中配置具有查询字符串支持的缓存

作者:CJ Pattekar

此文档部分适用于用于 IIS 7 及更高版本的 Microsoft 应用程序请求路由版本 2

目标

了解并在应用程序请求路由 (ARR) 中配置具有查询字符串支持的缓存。

先决条件

本文假定你已熟悉 ARR 的整体功能,并了解如何使用磁盘缓存部署和配置 ARR。 如果尚未这样做,强烈建议在继续操作之前查看以下演练:

如果尚未安装应用程序请求路由版本 2,可在以下位置下载:

  • 适用于 IIS 7 (x86) 的 Microsoft 应用程序请求路由版本 2 (https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE)。
  • 适用于 IIS 7 (x64) 的 Microsoft 应用程序请求路由版本 2 (https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE)。

请按照这篇文档中概述的步骤安装 ARR 版本 2。

在 ARR 中配置查询字符串支持。

本演练假定已创建服务器场。 如果没有,请按照定义和配置应用程序请求路由服务器场演练进行操作。本演练还假定已将至少一个主缓存驱动器添加到 ARR 进行缓存。 如果没有,请按照在应用程序请求路由中配置和启用磁盘缓存演练进行操作。

以下是可用于查询字符串支持的选项:

  • 忽略查询字符串:忽略 URL 中的查询字符串部分。 即使查询字符串部分不同,也只会为 URL 创建一个缓存对象。
  • 不缓存:如果 URL 包含查询字符串,则不会缓存该 URL。
  • 包含查询字符串:将具有不同查询字符串的相同 URL 缓存为单独的对象。 只有 URL 和查询字符串的完全匹配才会导致缓存命中。

使用 UI 配置查询字符串支持以“忽略查询字符串”:

  1. 启动 IIS 管理器。

  2. ARR 的查询字符串支持配置在服务器场级别完成。 在导航树状视图中选择服务器场。

  3. 选择“服务器场”

  4. 选择你创建的服务器场。

  5. 将显示以下图标:

    Screenshot of Server Farms dialog in I I S Manager, with icons displayed and Caching highlighted.

  6. 双击“缓存”

    Screenshot of Caching dialog, with Ignore query string default setting selected in Query String Support drop down.

  7. 验证“查询字符串支持”下拉列表是否设置为“忽略查询字符串”。 这是默认设置。

验证功能:

  1. 向 /arr/arr.htm?query=5 和 /arr/arr.htm?query=10 发出请求
  2. 在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。
  3. 单击右侧操作窗格中的“浏览缓存内容”。
  4. 验证是否只为 arr.htm.full 缓存了一个文件
  5. 在 UI 中导航到“监视和管理”屏幕。
  6. 验证第一个请求是否为缓存失误,而另一个请求是否为缓存命中。

作为清理工作,请使用删除缓存对象演练中提及的步骤删除所有缓存对象,并导航到“监视和管理”屏幕,单击操作窗格中的“重置运行时统计信息”,重置服务器场的运行时统计信息。

使用 UI 将查询字符串支持配置为“不缓存”:

  1. 再次导航到服务器场的“缓存”功能
  2. 将“查询字符串支持”下拉列表设置为“不缓存”

验证功能:

  1. 向 /arr/arr.htm?query=5 和 /arr/arr.htm?query=10 发出请求
  2. 在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。
  3. 单击右侧操作窗格中的“浏览缓存内容”。
  4. 验证是否未缓存任何文件。
  5. 在 UI 中导航到“监视和管理”屏幕。
  6. 验证两个请求是否都缓存失误。

作为清理工作,请导航到“监视和管理”屏幕,单击操作窗格中的“重置运行时统计信息”,重置服务器场的运行时统计信息。

使用 UI 配置查询字符串支持以“包含查询字符串”:

  1. 再次导航到服务器场的“缓存”功能
  2. 将“查询字符串支持”下拉列表设置为“包含查询字符串”

验证功能:

  1. 发出以下请求

    • /arr/arr.htm?query=5
    • /arr/arr.htm?query=10
    • /arr/arr.htm
  2. 在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。

  3. 单击右侧操作窗格中的“浏览缓存内容”。

  4. 验证是否缓存了 3 个不同的文件。

  5. 在 UI 中导航到“监视和管理”屏幕。

  6. 验证所有 3 个请求是否都缓存失误。

总结

现在,你已成功在 ARR 中配置了具有查询字符串支持的缓存。 有关其他 ARR 版本 2 演练,请参阅这篇文章中的文档。