【发布时间】:2013-03-16 23:52:23
【问题描述】:
当发生错误时,我正在做 Response.Redirect
但我看到这给一些访问者带来了麻烦。因为愚蠢的浏览器使用缓存,他们无法再次看到该页面。由于错误是暂时的,因此会造成很大的麻烦
所以我不希望缓存任何重定向
我做了一些搜索并想出了
Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache)
但我希望一切都被缓存(图像)期望重定向本身。那么最好的解决方案是什么?
Asp.net c# 4.5 - 网络框架 4.5
【问题讨论】:
-
看看你能不能把 http-status-code 改成 302 或 307 (temperary-redirect) 浏览器不会缓存它。
-
@CorvinMcpherson 不缓存是默认行为。实际上,目前他们应该不缓存 response.redirect。但是一些访问者报告说他们不断被重定向。因此,即使默认情况下它们不应该缓存,他们的浏览器似乎也在缓存。
-
旁注:“有些人报告了一些麻烦”很难解决。自己重现行为或收集更多信息,直到你能理解问题。据您所知,他们将浏览器设置为永远不会使缓存无效...考虑询问 Fiddler 跟踪(或其他将报告浏览器发出的所有请求的工具),以确保您了解什么是缓存,什么没有缓存。
-
@AlexeiLevenkov 你说的很对。我正在捕获服务器端错误。但是没有错误。肯定是用户浏览器造成的。而且我无法重现错误。但我很确定这是由缓存引起的。
标签: c# asp.net caching redirect response.redirect