سؤال

أنا مهتم في كيفية جعل منتظم HttpCookie الكائن في تعريف الارتباط التي تنتهي في نهاية الدورة.أنا لست مهتما في شخص showing me HttpContext.Session.كيف ملف تعريف ارتباط جلسة تبدو في رؤوس استجابة مقارنة العادي كوكي ؟ كيف يمكنني تعديل HttpCookie أن تنتهي في نهاية الدورة ؟ وذلك بفضل!

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

المحلول

والكوكي الجلسة هو مجرد ملف تعريف الارتباط التي ليس لديها أي مجموعة تاريخ انتهاء الصلاحية.

Response.Cookies.Add(new HttpCookie("name", "value"));

وأو:

Response.Cookies["name"] = "value";

نصائح أخرى

والكوكي مع انتهاء DateTime.MinValue (1/1/0001) سوف تنتهي في نهاية الدورة. هذا هو تاريخ انتهاء الصلاحية الافتراضي للارتباط في asp.net.

ويمكنك فرض الكعكة المراد حذفه من العميل imediately عن طريق تحديد تاريخ انتهاء الصلاحية إلى شيء قبل "الآن" (DateTime.Now.AddDays (-1d)) وفي هذه الحالة سيتم حذفه عندما يضرب العميل.

إذا كان لدينا أنواع nullable مرة أخرى عندما تم ترميز HttpCookie تخميني هو أن تاريخ لاغية ما يوازي ارتباط جلسة مقرها وأن أي شيء آخر يترجم إلى قيمة انتهاء ولكن هذا ليس هو الحال.

انتهاء صلاحية ملف تعريف الارتباط:

  • الكوكيز - تنتهي يجب أن يكون تاريخ التاريخ والوقت.MinValue وهو 1/1/0001 00:00:00
  • عادي كوكي (لفترة محدودة) - تنتهي التاريخ أي تاريخ في المستقبل مساوية أو أكثر من التاريخ والوقت الحالي.الآن.
  • حذف ملفات تعريف الارتباط في أي وقت بين التاريخ والوقت.MinValue و التاريخ والوقت.الآن.

تغيير ملف تعريف الارتباط إلى ملف تعريف ارتباط جلسة ببساطة تعيين MinValue.

httpCookie.Expires = DateTime.MinValue;

إذا كان لديك ملف تعريف الارتباط هو جديد.القيمة الافتراضية التاريخ والوقت يجب أن يكون التاريخ والوقت.MinValue و لا تحتاج إلى تعيين.

CallMeLaNN

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