هل تواجه مشكلة في تعيين انتهاء صلاحية ملف تعريف الارتباط على DateTime.Max (31 ديسمبر 9999)؟

StackOverflow https://stackoverflow.com/questions/813904

  •  03-07-2019
  •  | 
  •  

سؤال

نحن ندعم التعليمات البرمجية القديمة التي تقوم بإسقاط ملف تعريف الارتباط وتعيين انتهاء الصلاحية على DateTime.MaxValue:

HttpCookie cookie = new HttpCookie(cookieName, value);
cookie.Expires = DateTime.MaxValue;

يبدو أنه في بعض المتصفحات (التي لا نقوم بتسجيلها)، تنتهي صلاحية ملف تعريف الارتباط هذا على الفور - أو ربما لا يتم إسقاطه.وفقًا لـ MSDN، فإن DateTime.MaxValue هو 31 ديسمبر 9999.هل هناك أي مشكلات متعلقة بالمتصفح فيما يتعلق بتعيين انتهاء صلاحية ملف تعريف الارتباط على هذا التاريخ؟

ستكون الإجابة الصحيحة هي تغيير تاريخ انتهاء الصلاحية، لكن في هذه المرحلة، لا يمكننا تغيير رمز الإنتاج.

هل كانت مفيدة؟

المحلول

إذا كان علي أن أخمن بشكل عشوائي سبب عدم نجاحه، فسأقول أن له علاقة به عصر يونكس.ستتجاوز هذه القيمة من الناحية الفنية (على أجهزة 32 بت) بعد 19 يناير 2038 الساعة 3:14:07 صباحًا بتوقيت جرينتش - لذلك سيتم تفسير الثانية التالية بعد ذلك على أنها 1 يناير 1970 0:00:01 صباحًا بتوقيت جرينتش.

من الممكن أن يكون الوقت المستقبلي الذي قدمته قد تم تحويله فعليًا إلى وقت ماضي.

مرة أخرى، هذا تخمين كامل وآمل أن أتمكن من اختباره قريبًا عند تنزيل VWD Express 2008 على جهازي المنزلي.

يحرر:

أثناء بحثي عن هذه المشكلة، وجدت خطأ مشابهًا:

http://framework.zend.com/issues/browse/ZF-5690

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top