Attenzione al SetCacheability nelle pagine ASP.NET

Io ci ho appena sbattuto la testa, e magari può salvarvi una brutta notte di carico imprevisto sui server:

per "comandare" la gestione della cache di una pagina web, è possibile impostare l'oggetto Cache dell'oggetto HttpResponse.

Questo si fa col metodo SetCacheability, passandogli uno dei valori dell'enum HttpCacheability.

Questo enum contiene 6 valori:

  • NoCache: nessuno può cachare la pagina
  • Private: la pagina può essere cachate solo sui browser, ma non sui proxy (valore di default)
  • Public: la pagina può essere cachata da tutti (proxy compresi)
  • Server: la pagina è cachata solo sul server, come la NoCache, con la differenze che la pagina è cachata sul server di origine
  • ServerAndNoCache: Server e NoCache insieme
  • ServerAndPrivate: Server e Private insieme

Dove sta il problema?

Tra le cache delle quali si parla è inclusa anche la OutputCache di ASP.NET, cioè la funzionalità nativa per il caching delle pagine e dei controlli ASP.NET: quindi, se mettete NoCache perchè volete essere sicuri che gli utenti del vostro sito abbiano sempre l'ultima versione della pagina, il server non terrà in cache il risultato della pagina, ma la rigenererà tutte le volte.

Se volete invece ottenere entrambi i risultati, dovete impostate la cachabilità a ServerAndNoCache.

Ipod Revised

Apple colpisce ancora, è rilascia i nuovi iPod:

  • iPod shuffle, ancora più piccolo, da 1 Gb, a solo 79€
  • iPod nano, ridisignato, bordi arrotondati, colori grigio, nero, verde, fucsia, blu elettrico, da 2,4 e 8Gb, e prezzi shiftati (cioè quello da 2 che costa come quello di prima da 1Gb ecc...)... diciamo molto "mini" style
  • iPod video, più largo, e fino ad 80Gb
«settembre»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567