FIX: probleem met de vervaltijd bij het invoegen van items met behulp van de methode "Cache.Insert" in het .NET Framework 4.7

Van toepassing op
.NET Framework 4.7

Symptomen

Stel dat u Microsoft .NET Framework 4.7 hebt geïnstalleerd op een computer. Wanneer u items in het cacheobject probeert in te voegen met behulp van de methode Cache.Insert (tekenreeks, object, CacheDependency, DateTime, TimeSpan) overbelasting, merkt u mogelijk dat de ingevoegde cache-items veel eerder of later verlopen dan de opgegeven datum/tijd (vervaltijd).

Oorzaak

De interne implementatie van System.Web.Caching.Cache maakt gebruik van het tijdstempel UTC (Coordinated Universal Time) voor de absolute verlooptijd. Maar deze specifieke Cache.Insert (tekenreeks, object, CacheDependecy, DateTime, TimeSpan) Insert overbelastingsmethode controleert niet of de verlooptijd wordt geconverteerd naar UTC. De verlooptijd voor items die door deze overbelasting in het cacheobject worden ingevoegd, zal daarom eerder of later plaatsvinden dan verwacht, afhankelijk van het tijdzoneverschil van de computer met Greenwich Mean Time (GMT).

Tijdelijke oplossing

De tijdelijke oplossing voor dit probleem is het gebruik van de methode Cache.Add of een andere overbelastingsmethode Cache.Insert .

Oplossing

Dit probleem wordt opgelost in de volgende versie van het .NET Framework en zal ook beschikbaar zijn in de volgende hotfix voor het .NET Framework 4.7.

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.