Sono passati diverse settimane da quando ho scritto l'ultimo post del mio blog, finalmente ho trovato un attimo di tempo; durante la scrittura di quel post pensavo di mettermi a scrivere una activity che potesse far navigare la user interface di un software, fortunatamente qualcuno mi ha fermato dicendomi che era già stato scritto e in effetti, facendo una breve ricerca ho trovato una serie di link a codice simile a ciò che avevo in mente, quindi lungi da me clonare l'acqua calda.
Giro pagina. Per un mio cliente ho consigliato di implementare (e lo sto facendo), in un prodotto, la gestione della cache e ho scelto l'application block scritto in oggetto del post; in rete ho trovato diversi siti e blog che parlano di ciò, non credo che ai miei lettori possa interessare la "mia" introduzione o la "mia" spiegazione perciò mi limiterò a descrivere dettagli tecnici secondo la mia esperienza in proposito.
Nel già citato application block vi è, tra le altre, una classe denominata ExpirationTask che, una volta istanziata, rappresenta un singolo task per gestire ciò che, inserito in cache, è scaduto.
Se si vuole dare una occhiata all'interno della nostra cache e rimuovere tutti gli elementi scaduti è possibile invocare il metodo SweepExpiredItemsFromCache passandogli come parametro un HashTable di oggetti CacheItems da rimuovere.
Occorre però prima aver marcato come expired gli elementi nella HashTable, quindi MarkAsExpired(HashTable object).
posted @ lunedì 14 maggio 2007 03:06