OutputCache di ASP.NET 4.0

In un precedente post ho parlato della comodità e potenzialità dell’OutputCache di ASP.NET, e, sempre in un’altro post, ho parlato di alcune novità che caratterizzano la nuova versione di ASP.NET che verrà rilasciata con il Framework 4.0.
Proprio con la futura versione sarà possibile specificare un provider per l’OutputCache che può essere differente tra usercontrol e usercontrol, permettendo così di utilizzare questo potente strumento anche in ambienti distribuiti dove la comune cache di ASP.NET non può arrivare.

Per prima cosa nel file di configurazione è stata aggiunta la possibilità di specificare l’elenco dei provider utilizzabili da questo tipo di cache, come mostrato di seguito:

<caching>
    <outputCache defaultProvider=" SossProvider ">
        <providers>
            <add name="SossProvider" type="imperugo.cache.SossOutputCacheProvider,  imperugo.cache"/>
            <add name="NCacheProvider" type="imperugo.cache.NCacheOutputCacheProvider,  imperugo.cache"/>
            <add name="FakeProvider" type="imperugo.cache.FakeOutputCacheProvider,  imperugo.cache"/>
        </providers>
    </outputCache>
</caching>

Ogni provider che si desidera realizzare deve ereditare dalla classe astratta  OutputCacheProvider presente in System.Web.Caching, che espone quattro metodi (Add, Get, Remove, Set).

A livello di UserControl basta specificare nella direttiva @Page il provider che si intende utilizzare, come mostrato dallo snippet seguente (attenzione che nella Beta 1 di VS 2010 l’intellisense per la proprietà providerName non funziona):

<%@ OutputCache Duration="60" VaryByParam="None"  providerName="SossProvider" %>

Personalemente avrei trovato molto comoda la possibilità di disabilitare l’output cache da file di configurazione (funzione comoda in fase di testing), in modo da evitare di aggiungere nuove righe o sezioni di configurazioni custom per ogni provider.

Ciauz


Comments