UpdatePanel يبدو أن الصراع مع بيانات ضخمة كما AsynPostBack. jSonSerializer MAXLENGTH لا يساعد

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

سؤال

ولدي ASP.NET 3.5 التطبيقات ومحاولة تحديث لوحة تحديث الذي يحتوي على عنصر تحكم مخصص المتداخلة. وفي هذا التحكم المخصصة هو ComponentArt تقلد الذي يحصل شغل قبل ما يقرب من 13MB البيانات (نعم، أنا يمكن أن chunck ...) في هذا التحديث.

ولدي زر مخفي يهتين فريق التحديث، وهو ما يؤدي كتبها JS من جانب العميل، عندما كنت في حاجة لupdatePanel والشبكة.

عند أسميه أسلوب التحديث خلال asyncPostback مع Updatepanelxyz.Update () ثم أحصل وقت لاحق من العملية asyncPostBackError قائلا أن JSonSerializer لا يمكن hanlde هذه الكمية من البيانات. وأود أن زيادة القيمة المحددة.

والواقع. يفهم. ولكن عندما أقوم بتغيير هذه القيمة في الملف web.config، ثم أنها لا تعمل فقط حتى الجولة حول 8MB، ولكن ليس أكثر من ذلك. هل هناك حد للJSonSerializer في هذه الحالة. لقد حدد القيمة إلى الحد الأقصى لقيمة Int32، وهو نوع من 1000X من القيمة الافتراضية، وهو ما يكفي بالفعل ل4MB من البيانات المتسلسلة.

وأي اقتراحات؟ بأي حال من الأحوال لإجبار مسلسل لتحقيق ذلك؟ أي طريقة لاستخدام مسلسل آخر؟

وابتهاج، ستيف

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

المحلول

وأفضل رهان هو تغيير ScriptingJsonSerializationSection.MaxJsonLength العقارات في القسم الملف web.config الخاص بك.

ووالتخلف إلى 102400 حرفا، على النقيض من الحد JsonSerializer الفئة 'من 2097152 حرفا.

وانظر:

<وأ href = "http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.maxjsonlength٪28v=VS.90٪29.aspx" يختلط = "نوفولو "> JsonSerializer الطبقة maxJsonLength الملكية

و

JsonSerialization مقطع التكوين الطول الاقصى الملكية

وكما ذكرت أعلاه، تغيير الخاصية مقطع التكوين هو السبيل الوحيد للذهاب للأسف.

نصائح أخرى

والمتأنق، 1 ميغابايت من البيانات هي أكثر من اللازم - لماذا؟ هيك هل تحتاج 13

وأنا حقا تعتقد أنك تحتاج إلى إعادة واجهة المستخدم الخاص بك. أنا لا أهتم مدى سرعة الشبكة الخاصة بك، وهذا هو مجرد مجنون الاشياء!

وأنا أتفق تماما واجهة المستخدم وطبقة DataAccess بحاجة إلى ريفاكتور، ولكن لفترة قصيرة كنت مجرد تبحث عن حل بسيط وسريع للمساعدة موكلي حتى التحديث القادم من البرنامج يخرج.

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