Příznaky
Předpokládá rozhraní.NET Framework Microsoft 4.7, které jsou nainstalovány v počítači. Při pokusu o vložení položky do mezipaměti objektu pomocí Cache.Insert (řetězec, objekt CacheDependency, DateTime a TimeSpan) přetížení metody Insert, můžete si všimnout, že vložené položky v mezipaměti vyprší mnohem starší nebo novější než zadaný DateTime (čas vypršení platnosti).
Příčina
Vnitřní implementace System.Web.Caching.Cache používá časové razítko koordinovaný světový čas (UTC) pro absolutní vypršení platnosti. Ale tomto konkrétním Cache.Insert (řetězec, objekt, CacheDependecy, DateTime a TimeSpan) přetížení metody Insert nezaručí, zda čas vypršení platnosti je převedena na čas UTC. Vypršení platnosti pro položky, které jste vložili do objektu mezipaměti pomocí tohoto přetížení proto dojde dříve nebo později, než bylo očekáváno v závislosti na tom, rozdíl časové pásmo počítače od greenwichského středního času (GMT).
Jak potíže obejít
Dočasné řešení tohoto problému je použití Cache.Add metody nebo jiné přetížení Cache.Insert metody.
Řešení
Tento problém bude opraven v příští verzi rozhraní.NET Framework a také bude k dispozici v další opravy hotfix pro 4.7 rozhraní.NET Framework.
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".