Symptômes
Supposons que vous disposez de Microsoft.NET Framework 4.7 installé sur un ordinateur. Lorsque vous essayez d’insérer des éléments dans l’objet de Cache à l’aide de la Cache.Insert (chaîne, objet, CacheDependency, DateTime et TimeSpan) méthode surcharge d’insertion, vous pouvez remarquer que les éléments du Cache expirent beaucoup antérieure ou postérieure à la spécifié DateTime (délai d’expiration).
Cause
L’implémentation interne de System.Web.Caching.Cache utilise l’heure temps universel coordonné (UTC) pour l’expiration absolue. Mais ce particulier Cache.Insert (chaîne, objet, CacheDependecy, DateTime et TimeSpan) Insérer la surcharge de méthode ne s’assure pas que le délai d’expiration est converti en heure UTC. Par conséquent, date d’expiration pour les éléments qui sont insérés dans l’objet de Cache à l’aide de cette surcharge se produit plus tôt ou plus tard que prévu, en fonction de la différence de fuseau horaire d’ordinateur à partir de l’heure de Greenwich (GMT).
Solution de contournement
La solution de contournement temporaire pour ce problème est d’utiliser la méthode Cache.Add ou une autre méthode de surcharge de Cache.Insert .
Résolution
Ce problème sera corrigé dans la prochaine version du.NET Framework et sera également disponible dans le correctif suivant pour le 4.7 de.NET Framework.
État
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».