Caching 应用程序请求路由和禁用缓存

Caching 应用程序请求路由和禁用缓存,caching,iis,arr,Caching,Iis,Arr,我们有一个多租户web应用程序。 我最近在我们的生产环境中创建了两个空白网站,它们使用IIS 7.5和ARR 3.0(应用程序请求路由)充当反向代理 当时的想法是: (A) www.product.com->重写为->www1.product.com (B) reports.product.com->重写到->reports1.product.com 我启用了两个代理网站并禁用了磁盘缓存 内存缓存持续时间默认为60 查询字符串支持为“忽略查询字符串” 网站代理上的入站重写规则从模式(.*)到{

我们有一个多租户web应用程序。 我最近在我们的生产环境中创建了两个空白网站,它们使用IIS 7.5和ARR 3.0(应用程序请求路由)充当反向代理

当时的想法是:

(A) www.product.com->重写为->www1.product.com

(B) reports.product.com->重写到->reports1.product.com

  • 我启用了两个代理网站并禁用了磁盘缓存
  • 内存缓存持续时间默认为60
  • 查询字符串支持为“忽略查询字符串”
  • 网站代理上的入站重写规则从模式(.*)到{R:1}
  • 网站B的代理上的入站重写规则从模式(.*)到{R:1}
在部署时,我意识到www.product.com的行为与预期一致,但reports.product.com突然在租户之间返回缓存响应,我很快将其关闭

我在reports.product.com上检查了代理服务器上的IIS日志,所有查询字符串都有X-ARR-CACHE-HIT=0,这告诉我ARR没有缓存,但它必须有。(没有一个条目的值为1)

我的问题是:

  • 我知道我忘记了将内存缓存持续时间设置为0,但是将内存缓存持续时间设置为0会完全禁用代理服务器上的缓存吗?我根本不想做任何缓存
  • “查询字符串支持”设置是否仅与磁盘缓存相关?或者它也会影响ARR的内存缓存
  • 为什么没有禁用内存缓存的选项
  • 为什么我只在一个网站上体验过?网站A和B的代理上的设置相同(网站B的sessionState=InProc,但只有一个实例,没有服务器场)

  • 提前感谢,

    在ServerFault上解决这个问题似乎更好。你试过在那里发帖吗?