Invalidare manualmente la cache di ASP.NET Web API

di Marco De Sanctis, in ASP.NET Web API,

In questo script continuiamo ad analizzare le peculiarità dell'output cache in ASP.NET Web API, di cui abbiamo già parlato in precedenza:

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi