ASP.NET الوصول إلى قيمة الكعكة في الحدث session_end من global.asax

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

  •  08-07-2019
  •  | 
  •  

سؤال

في ASP.NET، كيف يمكنني استرداد قيمة الكعكة في حال Session_End من الملف Global.asax؟  التعليمة البرمجية التالية هو رمي استثناء "كائن مرجع لم يتم تعيين إلى مثيل كائن"

    string cookyval = "";
    try
    {
        cookyval = Context.Request.Cookies["parentPageName"].Value;
    }
    catch (Exception ex)
    {
        cookyval = "";
    }

وأي نصيحة؟

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

المحلول

ويتم تشغيل الحدث Session_End قبل العملية المنفذة IIS، وليس طلب HTTP. لذلك HttpContext الخاص بك وسوف يكون لاغيا، وأنك لن تكون قادرة على وضع الكعكة العميل.

نصائح أخرى

ولست متأكدا هذا ممكن.

والطلب لم يعد على قيد الحياة عند نقطة الحرائق Session_End.

عذرا،

ودان

لا تشغيل Session_End في سياق طلب المستخدم، لذلك ليس هناك إمكانية الوصول إلى ملفات تعريف الارتباط (أو أي متغيرات الطلب أخرى).

إذا قمت بوضع قيمة في الدورة، أعتقد أنك تستطيع الدخول ما يلي:

string cookyval = "";
try
{
    cookyval = (string)Session["parentPageName"];
}
catch (Exception ex)
{
    cookyval = "";
} 

وعلى خلاف ذلك، كنت بحاجة إلى الكتابة إلى بعض الدول الأخرى تخزين جانب الخادم (مثل قاعدة بيانات).

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