在应用程序请求路由中配置具有查询字符串支持的缓存
作者: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 配置查询字符串支持以“忽略查询字符串”:
启动 IIS 管理器。
ARR 的查询字符串支持配置在服务器场级别完成。 在导航树状视图中选择服务器场。
选择“服务器场”。
选择你创建的服务器场。
将显示以下图标:
双击“缓存”。
验证“查询字符串支持”下拉列表是否设置为“忽略查询字符串”。 这是默认设置。
验证功能:
- 向 /arr/arr.htm?query=5 和 /arr/arr.htm?query=10 发出请求
- 在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。
- 单击右侧操作窗格中的“浏览缓存内容”。
- 验证是否只为 arr.htm.full 缓存了一个文件
- 在 UI 中导航到“监视和管理”屏幕。
- 验证第一个请求是否为缓存失误,而另一个请求是否为缓存命中。
作为清理工作,请使用删除缓存对象演练中提及的步骤删除所有缓存对象,并导航到“监视和管理”屏幕,单击操作窗格中的“重置运行时统计信息”,重置服务器场的运行时统计信息。
使用 UI 将查询字符串支持配置为“不缓存”:
- 再次导航到服务器场的“缓存”功能。
- 将“查询字符串支持”下拉列表设置为“不缓存”。
验证功能:
- 向 /arr/arr.htm?query=5 和 /arr/arr.htm?query=10 发出请求
- 在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。
- 单击右侧操作窗格中的“浏览缓存内容”。
- 验证是否未缓存任何文件。
- 在 UI 中导航到“监视和管理”屏幕。
- 验证两个请求是否都缓存失误。
作为清理工作,请导航到“监视和管理”屏幕,单击操作窗格中的“重置运行时统计信息”,重置服务器场的运行时统计信息。
使用 UI 配置查询字符串支持以“包含查询字符串”:
- 再次导航到服务器场的“缓存”功能。
- 将“查询字符串支持”下拉列表设置为“包含查询字符串”。
验证功能:
发出以下请求
- /arr/arr.htm?query=5
- /arr/arr.htm?query=10
- /arr/arr.htm
在 IIS 管理器中的服务器级别导航到应用程序请求路由 UI。
单击右侧操作窗格中的“浏览缓存内容”。
验证是否缓存了 3 个不同的文件。
在 UI 中导航到“监视和管理”屏幕。
验证所有 3 个请求是否都缓存失误。
总结
现在,你已成功在 ARR 中配置了具有查询字符串支持的缓存。 有关其他 ARR 版本 2 演练,请参阅这篇文章中的文档。