كيف يمكنني اكتشاف ما إذا كانت ملفات تعريف الارتباط والاستجابة مختلفة؟
-
20-09-2019 - |
سؤال
أحتاج إلى اكتشاف ما إذا كان ملف تعريف ارتباط الطلب - القيمة مختلفة عن قيمة ملف تعريف الارتباط - قيمة.
ليس من السهل مثل:
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 من قبل لك حقا.