症状

假定您有 Microsoft.NET Framework 4.7 安装在一台计算机上。当您尝试将项插入到缓存对象,使用Cache.Insert (字符串、 对象 CacheDependency,日期,时间跨度)插入重载方法时,您可能会注意到插入的缓存项过期过早或过晚于指定的日期时间(到期时间)。

原因

System.Web.Caching.Cache的内部实现的绝对过期使用协调通用时间 (UTC) 时间戳。但此特定Cache.Insert (字符串、 对象 CacheDependecy,日期,时间跨度) 插入的重载方法不会使确保是否过期时间转换为 UTC。因此,过期的项插入到缓存对象使用此重载将发生更早或晚于预期,这取决于计算机的时区差异从格林威治标准时间 (GMT)。

解决方法

为解决此问题的临时解决办法是使用Cache.Add方法或其他Cache.Insert重载方法。

解决方案

此问题将在下一版本的.NET Framework 中,固定,则还可以使用.NET Framework 4.7 为下一步的修复程序中。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。