อาการ
สมมติว่า คุณมี Microsoft .NET Framework 4.7 ที่ติดตั้งบนคอมพิวเตอร์ เมื่อคุณพยายามที่จะแทรกรายการลงในวัตถุแคชโดยCache.Insert (สตริง วัตถุ CacheDependency วันที่และเวลา ขาดงาน)แทรกวิธีการโอเวอร์โหลด คุณอาจสังเกตเห็นว่า รายการที่แคแทรกหมดอายุก่อนหน้า หรือหลังจากวันที่ระบุวันที่และเวลา(เวลาหมดอายุ) ได้
สาเหตุ
ดำเนินการภายในของSystem.Web.Caching.Cacheใช้การประทับเวลาของเวลามาตรฐานสากล (UTC) สำหรับการหมดอายุสัมบูรณ์ แต่เฉพาะนี้Cache.Insert (สตริง วัตถุ CacheDependecy วันที่และเวลา ขาดงาน) วิธีการโอเวอร์โหลดแทรกไม่แน่ใจว่าเวลาหมดอายุจะถูกแปลงเป็นเวลา UTC ดังนั้น หมดอายุสำหรับสินค้าที่มีแทรกวัตถุแคช โดยใช้โอเวอร์โหลดนี้ จะเกิดขึ้นก่อนหน้า หรือหลังจากนั้นกว่าที่คาดไว้ ขึ้นอยู่กับโซนเวลาคอมพิวเตอร์ต่างจากเวลามาตรฐานกรีนิช (GMT)
วิธีแก้ปัญหา
ปัญหาชั่วคราวสำหรับปัญหานี้คือการ ใช้วิธีการCache.Addหรือวิธีการโอเวอร์โหลดCache.Insertแตกต่างกัน
การแก้ปัญหา
ปัญหานี้จะแก้ไขได้ใน.NET Framework รุ่นถัดไป และจะพร้อมใช้งานในโปรแกรมแก้ไขด่วนสำหรับ 4.7 กรอบงาน.NET ถัดไป
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"