Symptom
Anta att du har Microsoft.NET Framework-4.7 installerat på en dator. När du försöker infoga objekt i Cache-objekt med hjälp av Cache.Insert (sträng, objekt, CacheDependency, DateTime, TimeSpan) metod överbelastning, märker du kanske att infogade objekt i cachen upphör att gälla mycket tidigare eller senare än det aktuella DateTime (förfallotid).
Orsak
Den interna implementeringen av System.Web.Caching.Cache använder UTC-tid (Coordinated Universal Time) tidsstämpel för absolut förfallodatum. Men detta särskilt Cache.Insert (sträng, objekt, CacheDependecy, DateTime, TimeSpan) Infoga överbelastning inte gör att om förfallotiden konverteras till UTC. Förfallodatum för objekt som har infogats i Cache-objekt med hjälp av denna överbelastning uppstår därför tidigare eller senare än förväntat, beroende på datorn tidszon skillnaden från Greenwich Mean Time (GMT).
Temporär lösning
Tillfällig lösning på problemet är att använda metoden Cache.Add eller en annan metod för Cache.Insert överbelastning.
Lösning
Det här problemet kommer att åtgärdas i nästa version av.NET Framework och kommer också att finnas i nästa snabbkorrigeringen för.NET Framework 4.7.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet ”gäller”.