在IOS 6 GM和5版本以及所有桌面浏览器中也是如此。
任何想法?
答案 0 :(得分:5)
我刚刚在ars technica阅读了这篇与您的问题相关的文章。 它似乎是苹果公司在iOS6中“过度优化”Safari。
答案 1 :(得分:1)
这里还详细介绍了这个主题: Is Safari on iOS 6 caching $.ajax results?
但是,上面没有提到另外一个注释。
WCF有一个有用的评论,它也适用于ASP.NET MVC应用程序和SetCacheability。我建议这些调用仅限于非GET请求,以避免在GET上失去缓存的好处。
我使用一个所有控制器继承的Controller基类有很多原因,这很好用,因为我的Initialize覆盖可以处理设置我的缓存头。
public class SmartController : Controller
{
...
public HttpContextBase Context { get; set; }
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
Context = requestContext.HttpContext;
if (Context.Request.RequestType != "GET")
{
Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
}
base.Initialize(requestContext);
...
}
...
}