الأعراض
افترض أن لديك Microsoft .NET Framework 4.7 مثبتا على جهاز كمبيوتر. عند محاولة إدراج عناصر في كائن Cache باستخدام أسلوب Cache.Insert (سلسلة، كائن، CacheDependency، DateTime، TimeSpan) Insert overload، قد تلاحظ أن عناصر ذاكرة التخزين المؤقت المدرجة تنتهي صلاحيتها في وقت سابق أو أحدث بكثير من التاريخ والوقت المحدد (وقت انتهاء الصلاحية).
السبب
يستخدم التنفيذ الداخلي ل System.Web.Caching.Cache الطابع الزمني المتفق عليه للوقت العالمي (UTC) لانتهاء الصلاحية المطلق. ولكن هذا الأسلوب المحدد Cache.Insert (سلسلة، كائن، CacheDependecy، DateTime، TimeSpan) Insert لا يتأكد مما إذا كان يتم تحويل وقت انتهاء الصلاحية إلى UTC. لذلك، سيحدث انتهاء صلاحية العناصر التي تم إدراجها في كائن ذاكرة التخزين المؤقت باستخدام هذا التحميل الزائد في وقت سابق أو أحدث من المتوقع، اعتمادا على فرق المنطقة الزمنية للكمبيوتر عن Greenwich Mean Time (GMT).
الحل البديل
الحل البديل المؤقت لهذه المشكلة هو استخدام أسلوب Cache.Add أو أسلوب Cache.Insert overload مختلف.
الدقة
سيتم إصلاح هذه المشكلة في الإصدار التالي من .NET Framework، وستتوفر أيضا في الإصلاح العاجل التالي .NET Framework 4.7.
الحالة
لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".