كيف يمكنني اكتشاف ما إذا كانت ملفات تعريف الارتباط والاستجابة مختلفة؟

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

سؤال

أحتاج إلى اكتشاف ما إذا كان ملف تعريف ارتباط الطلب - القيمة مختلفة عن قيمة ملف تعريف الارتباط - قيمة.

ليس من السهل مثل:

if(cookiesArePresent)
{
    bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}

لكنني قرأت أن تغيير الاستجابة. هذا يعني أنهم دائمًا ما يكونون هو نفسه إذا تم تغيير httpcontext.current.response.cookies [". aspxanonymous"]. هل هناك طريقة سهلة حول هذا؟

http://chance.lindseydev.com/2009/04/aspnet-httprequestcookoies-and.html

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

المحلول

إذا كنت تستخدم Reflector لفحص system.web.security.anonymousidentificationModule ، يمكنك أن ترى أن ملف تعريف الارتباط المجهول يتم قراءة/مكتوبة فقط في postauthenticaterequest.

لذا ، إذا كنت تشك في أن هناك شيئًا ما متزعزعًا ، فاكتب httpmodule بسيطة تقرأ ملف تعريف الارتباط خلال AuthenticateRequest ومقارنته بالقيمة التي تحصل عليها في eventizerequest.

لمزيد من المعلومات حول رؤية دورة حياة الطلب استكشاف web.config - system.web/httpmodules من قبل لك حقا.

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