Sitecore,阻止重定向响应的HTML缓存

时间:2016-10-28 10:04:35

标签: sitecore

我有一个页面,4秒后必须重定向到另一个URL(基本上如果后端服务需要太长时间才能响应)。我正在进行302重定向,但Sitecore正在存储响应HTML,下次我进入页面时,我得到一个"对象移动到这里"渲染。

如何防止重定向响应的HTML缓存(服务器端缓存,而不是浏览器缓存)?我正在使用"返回重定向(网址);"进行重定向。

谢谢

2 个答案:

答案 0 :(得分:0)

HTML缓存存储整个HTML输出。如果需要根据某些自定义逻辑更改输出,则需要进行自定义以使其正常工作。根据您的需要,有几种不同的选择。我在某些方面遇到了同样的问题,我使用了选项2,但正确的解决方案实际上取决于您的应用程序。

  1. 删除超时,以便HTML始终相同
  2. 调用后端服务客户端或在Sitecore中创建一个单独的服务,该服务调用后端服务以避免它包含在输出缓存中
  3. 创建自定义CacheKey管道,以便使用不同的缓存键 如果后端服务花费的时间太长,请参阅here

答案 1 :(得分:0)

302某些浏览器存在问题。使用较新的307“临时重定向”

您可以通过设置headeres来阻止缓存:

"Cache-Control: no-cache, no-store, must-revalidate"
"Pragma: no-cache"
"Expires: 0"