كيفية جعل ملف تعريف ارتباط جلسة ASP.NET تنتهي مع HttpSession ASP.NET؟

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

  •  19-08-2019
  •  | 
  •  

سؤال

ولقد خلق HttpCookie من أجل تبادل البيانات عبر نطاق فرعي:

HttpCookie cookie = new HttpCookie("sessionGUID");
cookie.Value = value;
cookie.Domain = ".example.com";

Response.Cookies.Set(cookie);

وتوليت بلا مبالاة لأنه هو "جلسة" كوكي (لا تنتهي) أنه ستنتهي مع جلسة ASP.NET بلدي. بالطبع لمتصفح هذا هو 'جلسة عمل مستعرض "كوكي وليس مرتبطا الدورة ASP.NET.

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

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

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

المحلول

إذا هم فقط بحاجة إلى أن تكون قريبة ثم شيئا من هذا القبيل:

int expirationMinutes = Session.Timeout;
if (System.Web.HttpContext.Current.Response.Cookies["monster"]!=null)
{
    System.Web.HttpContext.Current.Response.Cookies["monster"].Expires =
                                 DateTime.Now.AddMinutes(expirationMinutes);
}

والموقت جلسة إعادة تعيين كل الوظائف المستخدم أو يحصل، لذلك منذ كود المنفذة على الخادم في الوقت الحالي، والوقت المتبقي على الدورة الحالية هو Session.Timeout، ويقول 20 دقيقة.

في 20 دقيقة، ولن يتم قبول ملفات تعريف الارتباط وعليك أن يصدر واحدة جديدة.

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