Ich bin nach einer definitiven Referenz zu dem, was ASP.NET-Code erforderlich ist, um Browser vom Zwischenspeichern der Seite deaktiviert. Es gibt viele Möglichkeiten, die HTTP-Header und Meta-Tags zu beeinflussen, und ich habe den Eindruck, dass unterschiedliche Einstellungen erforderlich sind, damit sich verschiedene Browser korrekt verhalten. Es wäre wirklich toll, ein Referenz-Code-Bit zu bekommen, das kommentiert wird, um anzuzeigen, welches für alle Browser funktioniert und welches für bestimmte Browser, einschließlich Versionen, benötigt wird.Deaktivieren des Browser-Caching für alle Browser von ASP.NET
Es gibt eine riesige Menge an Informationen zu diesem Thema, aber ich muss noch eine gute Referenz finden, die die Vorteile jeder Methode beschreibt und ob eine bestimmte Technik durch eine API höherer Ebene ersetzt wurde.
Ich bin besonders an ASP.NET 3.5 SP1 interessiert, aber es wäre gut, Antworten für frühere Version zu erhalten.
Dieser Blog-Eintrag Two Important Differences between Firefox and IE Caching beschreibt einige HTTP-Protokoll Verhaltensunterschiede.
Der folgende Beispielcode veranschaulicht die Art von Sache, die ich in
public abstract class NoCacheBasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
DisableClientCaching();
}
private void DisableClientCaching()
{
// Do any of these result in META tags e.g. <META HTTP-EQUIV="Expire" CONTENT="-1">
// HTTP Headers or both?
// Does this only work for IE?
Response.Cache.SetCacheability(HttpCacheability.NoCache);
// Is this required for FireFox? Would be good to do this without magic strings.
// Won't it overwrite the previous setting
Response.Headers.Add("Cache-Control", "no-cache, no-store");
// Why is it necessary to explicitly call SetExpires. Presume it is still better than calling
// Response.Headers.Add(directly
Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-1));
}
}
Ich würde versuchen zu antworten, wenn ich nicht wüsste, wie schrecklich unmöglich deine Aufgabe ist. Die Kontrolle über den Cache des Clients ist so, als würde man versuchen, 10 Fuß lange Essstäbchen zu verwenden, um Möbel neu anzuordnen. –
Eine ganze Reihe von Antworten, die nur einen Teil des Problems abdecken, wären immer noch sehr wertvoll. Bitte werfen Sie Ihre 2 Cent wert. –