asp.net: البيانات وضع في جلسة متاح بينما كان يعمل في إنترنت إكسبلورر ولكن ليس في الأوبرا

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

  •  03-07-2019
  •  | 
  •  

سؤال

وهذا شيء غريب حقا - لدي موقع على شبكة الانترنت الذي يعمل تماما في ملحقات (متصفح إنترنت إكسبلورر القائم). لقد بدأت في الأوبرا، وتبين أن البيانات وضعت في القاموس الدورة في موقع واحد، غير متوفر على الآخر ... يعني أنا Welcome.aspx، حيث عند النقر فوق التالي يتم تنفيذ التعليمات البرمجية التالية:

Session["sessionData"] = sessionData;
Response.Redirect("~/Models.aspx");  

وأثناء تصحيح أستطيع أن أرى أنه في الدورة models.aspx في فارغة عند تنفيذ في الأوبرا ولكن كل شيء على ما يرام عند تنفيذ في ملحقات. لديها أي شخص حصل على أي فكرة عما يمكن أن يكون خطأ؟ لأنني جاهل .. هذا بعض التفضيلات الأوبرا شيء أو هو شيء في التعليمات البرمجية؟

وتحرير: راجعت Session.IsNewSession، ومن المتوقع أثناء تنفيذ في isnewsession ملحقات إلى false لكن في الأوبرا صحيح. يبدو أنه في الأوبرا عند الانتقال إلى صفحة جديدة يخلق بطريقة أو بأخرى دورة جديدة ...

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

المحلول

إذا الكتابة الخاص بك الدورة على الضربة الأولى ثم عليك أن تفعل

Response.Redirect("nextpage.asp", false);

وإلا فإنه لن يكتب responsestream كله وربما لا يكون قد كتب ملفات تعريف الارتباط. بدلا من ذلك يمكنك اختيار أن جلسات cookiless. ولكن بعد ذلك لديك مفتوحة للاختطاف الدورة.

نصائح أخرى

ويتم تخزين جلسة ASP.NET بواسطة مفتاح التي يتم حفظها كما الكعكة في المتصفح. تحقق أوبرا لمعرفة ما إذا كان قبول ملفات تعريف الارتباط - فإنه سيكون في حاجة إلى من أجل جلسة ASP.NET للعمل بشكل صحيح

وربما لديك الكوكيز معطلة في الأوبرا. أعمال الدورة (إلا إذا speciefies كما بدون ملفات تعريف الارتباط في الملف web.config) عن طريق تخزين معرف في ملف تعريف الارتباط. إذا لم brwoser تسمح الوصول، الملقم لن تكون قادرة على تحديد البيانات

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