سؤال

أقوم بشكل عام بتعطيل حالة العرض لعناصر تحكم ASP.net الخاصة بي ما لم أعلم صراحة أنني سأطلب حالة العرض لها.لقد وجدت أن هذا يمكن أن يقلل بشكل كبير من حجم صفحة HTML التي تم إنشاؤها.

هل هذه ممارسة جيدة؟متى يجب تمكين أو تعطيل؟

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

المحلول

نعم إنها فكرة جيدة جدا.يمكن للمرء أن يجادل بأنه كان ينبغي أن يتم تعطيله افتراضيًا بواسطة Microsoft، تمامًا مثل التخزين المؤقت.

لمعرفة مدى سوء حالة العرض من حيث زيادة الحجم، يمكنك استخدام أداة تسمى محلل حالة العرض.يعد هذا مفيدًا بشكل خاص عندما يكون لديك تطبيق موجود تم تطويره مع تمكين Viewstate.

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

نصائح أخرى

أعتقد أنها ممارسة جيدة.لا يدرك العديد من مطوري ASP.NET أن حالات العرض الخاصة بهم تضيف حملاً هائلاً إلى HTML الذي يتم إرساله إلى متصفحات المستخدمين.

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

قد تجد المعلومات الواردة في مقالة "توصيات إدارة حالة ASP.NET". على MSDN مفيد لاتخاذ قرارك.

بشكل عام في ASP.NET 2.0 وما فوق، يكون تعطيل ViewState أقل تدميراً نظرًا لإدخال حالة التحكم لتخزين المعلومات المطلوبة لرفع الأحداث وما إلى ذلك.

بالتأكيد فكرة جيدة، وليس هناك ما هو أسوأ من الصفحة التي يقوم المطور بربط dataGrid بها في Page_Load في كل مرة ولكن أيضًا يقدم حالة العرض!

إنها أيضًا فكرة جيدة حقًا إذا كنت تخطط لاستخدام UpdatePanel من ملحقات AJAX، فهذا يعني أنك ترسل كمية أقل أثناء طلب UpdatePanel.

(لا تغضب لقولك أن UpdatePanel يمكن أن يكون جيدًا:P)

_Viewstate يمكن أن يزيد بشكل غير ضروري عدد البايتات التي يجب نقلها.لذلك، ما لم يتم استخدام البيانات في المرة القادمة، فمن الجيد إيقاف تشغيلها.

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