Ich persönlich verwende die VaryByCustom angemeldet geben Attribut und abgemeldet Benutzer verschiedene gecached Seitenaufrufe:
<%@ OutputCache VaryByCustom="IsLoggedIn" Duration="30" VaryByParam="*" %>
dann in global.asax Sie setzen
public override string GetVaryByCustomString(HttpContext context,
string arg)
{
if (arg == "IsLoggedIn")
{
if (context.Request.IsAuthenticated)
{
return "Logged in: " + context.User.Identity.Name;
}
else
{
return "Not Logged In";
}
}
else
{
return base.GetVaryByCustomString(context, arg);
}
}
Ich werde nur werfen das da draußen. Wie steht es mit der Substitutionskontrolle?
http://msdn.microsoft.com/en-us/library/ms228212.aspx
Laut MSDN-Website:
Die Substitution Steuerung können Sie Bereiche auf der Seite erstellen die dynamisch aktualisiert werden kann und dann in eine Cache-Seite integriert. ... Das Substitutions-Steuerelement bietet eine vereinfachte Lösung für die partielle Seite Zwischenspeicherung für Seiten, wo die Mehrheit des Inhalts zwischengespeichert wird. Sie können output-cache die gesamte Seite und dann verwenden Substitutions-Steuerelemente, um die Teile der Seite angeben, die von Caching ausgenommen sind.
Ich habe nie persönlich die substituion Kontrolle, aber ich gerade passiert es den anderen Tag zu sehen, und es klang wie es irgendwie aktualisiertem Inhalt in eine ansonsten Cache-Seite ausgegeben injizieren kann.