J'ai configuré un profil de cache dans mon api web asp.net core comme suit :
services.AddMvc(options => {
// Cache profile for lookup data will expire every 15 minutes.
options.CacheProfiles.Add("LookupData", new CacheProfile() { Duration = 15 });
});
J'ai utilisé cet attribut en haut de mon "lookupsController", car les listes d'informations renvoyées dans chaque méthode ne changeront pas régulièrement (bien que le cache expire automatiquement toutes les 15 minutes).
[ResponseCache(CacheProfileName = "LookupData")]
[Produces("application/json")]
[Route("api/Lookups")]
public class LookupsController : Controller
{
...
}
J'ai un autre contrôleur d'administration qui peut permettre aux utilisateurs d'ajouter et de supprimer des éléments dans la liste du contrôleur de consultation. Cela ne se produira pas souvent, mais lorsque cela se produit, je veux forcer de manière programmatique la réinitialisation du profil de cache et obliger les requêtes Web ultérieures à obtenir la dernière version, plutôt que de conserver la liste de données en cache qui est maintenant périmée.
Comment puis-je réaliser la réinitialisation du cache de manière programmatique ? - Je peux ensuite ajouter ce code dans les méthodes de mon contrôleur d'administration, pour forcer la réinitialisation du cache. Quelqu'un a-t-il déjà eu à le faire ?