إزالة أو إعادة تعيين ملفات تعريف الارتباط

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

  •  23-08-2019
  •  | 
  •  

سؤال

أنا وضع ملف تعريف الارتباط Request.Cookies("TemplateName").value على إحدى صفحاتي (صفحة 3) من طلبي. الآن يمكنني التنقل من الصفحة 3 إلى الصفحة 4 الصفحة 4 والاحتفاظ بقيمة ملف تعريف الارتباط. ولكن الآن عندما أقوم بالتسجيل وتسجيل الدخول مرة أخرى، لا يزال لديه القيمة، كيف يمكنني إعادة تعيين قيمة ملف تعريف الارتباط لتكون فارغة "" عندما أبدأ مثيل جديد؟

حاولت:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

على صفحتي الرئيسية، ولكن الكعكة لا تزال تحتفظ بالقيمة في الصفحة 2 و 3.

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

المحلول

تحتاج إلى استخدام الرد وليس الطلب

Response.Cookies["TemplateName"].Value = "";

Response.Cookies["TemplateName"].Expires = DateTime.Now;

تحرير ل VB.

Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)


Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

هذه الأمثلة تأتي مباشرة من موقع MSDN.

ملاحظة جانبية

غالبا ما يحاول الناس استخدام

Request.Cookies.Remove("MyCookie");

والتي ستزيل ملف تعريف الارتباط فقط من "مجموعة الطلب"، إذا كنت ترغب في إزالة ملف تعريف الارتباط، فأنت بحاجة إلى انتهاء صلاحيته. مزيد من المعلومات هنا

نصائح أخرى

هذا قد يبدو غبيا.

ولكن هل تحاول ضبط ملف تعريف الارتباط من أي مكان آخر؟ ابحث عن رمز Templatename، إذا كان ذلك يساعد.

أنا لست على دراية .NET ولكن مع تطبيقات الويب بشكل عام، تحتاج إلى التأكد من تعيين رؤوس الاستجد قبل كتابة أي نص، وإلا فقد لا يتم إرسالها. مجرد شيء لمضاعفة الاختيار.

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