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
Configurare lo startup di applicazioni server e client con .NET Aspire
Usare le navigation property in QuickGrid di Blazor
Miglioramenti nelle performance di Angular 16
Generare una User Delegation SAS in .NET per Azure Blob Storage
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Sostituire la GitHub Action di login su private registry
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare Container Queries nominali