Cache output Controllo Utente (.ascx)

giovedì 10 marzo 2011 - 19.00
Tag Elenco Tags  C#  |  .NET 2.0  |  Visual Studio 2005

skraus Profilo | Junior Member

Salve.
In una applicazione ASP.NET ho creato un controllo utente per il menù dell'applicazione. Ossia il file .ascx contiene un controllo menù bindato ad un XMLDataSource.

Un'istanza di questo controllo utente l'ho inserita nella masterpage dell'applicazione, su cui sono basate tutte le pagine che compongono l'applicazione stessa. In modo predefinito il controllo menù ha la proprietà visible=false, ciò perchè nella pagina iniziale viene mostrato il login dell'utente.

Nell'evento load dell'ascx verifico se l'utente è Autenticato, quindi interrogo l'origine XML e rendo visibile il controllo menù.

Vorrei inserire il controllo utente nella cache di output, però giustamente la prima volta che il controllo viene caricato viene cachato con la proprietà visibile=false e per tanto, dopo il login, quando viene recuperato dalla cache resta non visibile. Ho provato ad inserire nella direttiva OutputCache l'attributo VaryByParam valorizzato con Page.User.Identity.IsAuthenticated, ma senza esito.

L'ipotesi verso cui sono orientato è di gestire la memorizzazione nella cache del controllo mediante la proprietà Cache dell'oggetto Response.

Voi cosa mi consigliate/suggerite ?

Grazie
Sk
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5