AppFabric è un servizio di caching distribuito che permette di condividere e memorizzare, in modo volatile, dati tra processi o macchine diverse. Dispone di API managed ed è un servizio installabile su Windows Server in modo da poter creare più nodi su più macchine e supportare il raggruppamento in regioni e la sincronizzazione tra esse.
Ciò che rende ancor più interessante AppFabric è il fatto che Windows Azure permette di definire dei namespace, li stessi usati per ACS e ServiceBus, che espongano un endpoint per memorizzare dati in cache, senza necessariamente dover installare il nodo sulle proprie macchine. Uno dei punti di forza di Windows Azure consiste proprio nel fatto che non è necessario migrare tutta la soluzione sul cloud (seppure garantirebbe maggiori performance, per via dell'affinità dei server), ma bensì procedere a passi o semplicemente utilizzandone solo una parte.
Per usare AppFabric su Windows Azure occorre compiere pochi semplici passi. Innanzitutto occorre configurare un namespace e abilitare il servizio di Caching. Nel compiere questa azione si stabilisce anche il limite massimo di memoria utilizzabile, il quale determina anche la spesa che si vuole sostenere.

Creato il namespace si abilita un'apposita sezione nella toolbar, e in particolar modo il pulsante View client configuration.

Premendolo viene generato un XML che contiene la configurazione da inserire nel web.config o nell'app.config dell'applicazione. In particolare:
- configSections: la definizione delle sezioni di configurazione;
- dataCacheClients: la definizione degli endpoint di AppFabric, in chiaro o criptato;
- sessionState: la configurazione per ASP.NET per usare AppFabric per la session;
- caching: la configurazione per ASP.NET per usare AppFabric per l'oggetto HttpRuntime.Cache;
I primi due tag devono quindi essere necessariamente copiati, mentre gli altri due a seconda delle necessità dell'applicazione web. Una volta configurato, l'utilizzo delle API di AppFabric è trasparente e identico a quanto si farebbe se AppFabric fosse in locale, come nell'esempio.
// Per usare la configurazione SSL //var r = new DataCacheFactoryConfiguration("SslEndpoint"); using (DataCacheFactory dataCacheFactory = new DataCacheFactory()) { DataCache dataCache = dataCacheFactory.GetDefaultCache(); // Recupero dalla cache object o = dataCache.Get("time"); if (o == null) { // Non è presente quindi lo aggiungo Console.WriteLine("Added to cache"); // Metto in cache per 10 secondi dataCache.Put("time", DateTimeOffset.UtcNow, TimeSpan.FromSeconds(10)); } else { // Scrivo il valore in cache Console.WriteLine("Cache on " + o); } }
Se non specifico, l'endpoint utilizzato è in chiaro, di nome default. In alternativa basta creare un'istanza di DataCacheFactoryConfiguration e specificare il nome della configurazione che si vuole utilizzare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Gestione degli stili CSS con le regole @layer
Potenziare la ricerca su Cosmos DB con Full Text Search
Anonimizzare i dati sensibili nei log di Azure Front Door
Creare agenti facilmente con Azure AI Agent Service
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Generare velocemente pagine CRUD in Blazor con QuickGrid
Managed deployment strategy in Azure DevOps
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Integrare un servizio esterno con .NET Aspire
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2024 - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il pattern matching per semplificare le espressioni