سؤال

واحد من المواقع الحفاظ على تعتمد بشكل كبير على استخدام ViewState (لم يكن هذا القانون).ومع ذلك ، على صفحات معينة حيث ViewState هو خارج المتضخمة ، سفاري يلقي "Validation of viewstate MAC failed" خطأ.

ويبدو أن هذا يحدث فقط في سفاري.فايرفوكس, إنترنت إكسبلورر و أوبرا جميع تحميل بنجاح في نفس السيناريو.

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

المحلول 3

لقد تم القيام بالقليل من البحث في هذا و بينما أنا لست متأكدا تماما لها سبب وأعتقد أنه بسبب سفاري ليست عودة كاملة نتيجة مجموعة (ومن ثم الاقتصاص منه).

لقد كنت في dicussion مع مطور آخر و وجدت التالي بعد على القناة 9 وكذلك التي توصي باستخدام SQL الدولة خدمة لتخزين viewstate تجنب إعادة النشر المسألة أيضا حجم الصفحة.

http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702

هل يبدو هذا أفضل حل ؟

نصائح أخرى

بينما أنا الثانية القناة 9 الحل أيضا أن تكون على علم أنه في بعض البيئات المستضافة سفاري لا يعتبر حتى على مستوى المتصفح.قد تحتاج إلى إضافة إلى التطبيق الخاص بك browscap من أجل الاستفادة من بعض ASP.Net الميزات.

أن كان السبب من بعض الصداع لدينا لموقع العميل الذي يستخدم ASP القائمة التحكم.

أول ميناء للدعوة أن تذهب من خلال العناصر على الصفحة والتي ترى الضوابط:

  1. سوف لا تزال تعمل عند التبديل قبالة ViewState
  2. يمكن نقلها من صفحة إلى اياكس الاتصال ليتم تحميلها عند الحاجة

إذا تعذر ذلك, وهنا تنويه - انا لم استخدم هذا الحل على شبكة الإنترنت التي تواجه الموقع - ولكن في الماضي حيث أردت القضاء ضخمة ViewStates محدود من الجمهور التطبيقات يجب تخزين ViewState في الدورة.

وقد عملت بالنسبة لي لأن ضرب الذاكرة ليست كبيرة لعدد من المستخدمين, ولكن إذا كنت تقوم بتشغيل شعبية إلى حد ما موقع أنا لا أوصي هذا النهج.ومع ذلك ، إذا كانت الدورة الحل يعمل سفاري يمكنك دائما كشف وكيل المستخدم و حلوى بشكل مناسب.

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