In questo script continuiamo ad analizzare le peculiarità dell'output cache in ASP.NET Web API, di cui abbiamo già parlato in precedenza:
- https://www.aspitalia.com/script/1225/Attivare-Output-Caching-ASP.NET-Web-API.aspx
- https://www.aspitalia.com/script/1226/Invalidare-Automaticamente-Output-Cache-ASP.NET-Web-API.aspx
In alcuni casi, vogliamo avere maggior controllo sulle logiche di invalidazione: per esempio, non ci basta marcare un'intera action con l'attribute InvalidateCacheOutput, ma vogliamo far sì che la cache sia rinnovata solo quando il salvataggio avviene effettivamente con successo. Per queste necessità possiamo utilizzare le API di invalidazione come nell'esempio seguente:
[CacheOutput(ClientTimeSpan = 10, ServerTimeSpan = 60)] public string Get() { ... } public void Post([FromBody]string value) { // salvataggio... var cache = Configuration .CacheOutputConfiguration() .GetCacheOutputProvider(Request); cache.RemoveStartsWith( Configuration .CacheOutputConfiguration() .MakeBaseCachekey((ValuesController c) => c.Get())); }
Grazie alla lambda expression, potremo specificare la action da invalidare con tanto di supporto dell'intellisense.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare la command injection in un workflow di GitHub
Utilizzare la session affinity con Azure Container Apps
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Eseguire attività basate su eventi con Azure Container Jobs
Load test di ASP.NET Core con k6
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Come migrare da una form non tipizzata a una form tipizzata in Angular
Routing statico e PreRendering in una Blazor Web App
Eseguire operazioni sui blob con Azure Storage Actions
Generare token per autenicarsi sulle API di GitHub
Usare lo spread operator con i collection initializer in C#
Creare alias per tipi generici e tuple in C#
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Utilizzare QuickGrid di Blazor con Entity Framework
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- ASP 3 per esempi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2