Personalmente io uso l'attributo VaryByCustom di dare il login e disconnesso utenti diverse pagine viste cache:
<%@ OutputCache VaryByCustom="IsLoggedIn" Duration="30" VaryByParam="*" %>
poi nel Global.asax si mette
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);
}
}
Sto solo andando a buttare questo là fuori Che ne dici del controllo di sostituzione?
http://msdn.microsoft.com/en-us/library/ms228212.aspx
Secondo il sito MSDN:
controllo la sostituzione consente di creare aree sulla pagina che può essere aggiornato in modo dinamico e quindi integrato in una pagina in cache. ... Il controllo di sostituzione offre una soluzione semplificata alla cache parziale della pagina per le pagine in cui la maggior parte dello del contenuto è memorizzata nella cache. È possibile eseguire l'output di nella cache dell'intera pagina, quindi utilizzare i controlli di sostituzione per specificare le parti della pagina che sono esenti dalla cache nella cache .
Non ho mai utilizzato personalmente il controllo di sostituzione, ma mi è capitato di cercarlo l'altro giorno, e sembrava che potesse in qualche modo iniettare contenuto aggiornato in un'uscita di pagina altrimenti memorizzata nella cache.
fonte
2009-08-10 20:33:16