بيانات الشبكة تحميل مع هيكل OO الثقيلة - ASP.NET

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

  •  06-07-2019
  •  | 
  •  

سؤال

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

وتنفيذ البطيئة التحميل: أنا حقا لا تحتاج الكائن بأكمله لعرض الشبكة. أنا لست متأكدا من أنني أريد أن أذهب هذا الطريق هذه لمكان آخر سوف تحتاج الكائن بأكمله تحميل وأنا لا أريد أن تغيير جذري في بنية بلدي لشبكات.

وإرجاع السجلات مصممة خصيصا لبلدي الشبكة: هذا هو الطريق وانا يميل. في الأساس سوف أعود إلى مجموعة البيانات أو كائن ببساطة شقة. بلدي إجراء مخزن يمكن القيام به العلاقات البيانات لإرجاع السجلات كما تريد.

هل هناك أي مناهج أخرى أنا قد ترغب في النظر في؟ أنا لم تفعل أي شبكات حقيقية من قبل، ونريد أن نتأكد من فعلت ذلك الحق في المرة الأولى. أي شخص يمكن أن يأتي مع أي عيوب فكرتي الثانية؟

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

المحلول

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

نصائح أخرى

وأود أن إنشاء كيان الضوء الذي يمثل الحقول التي تحتاج إلى عرض في الشبكة الخاصة بك.

ولكن! وأود أن تفعل إلا أنه إذا تم الشبكة للقراءة فقط. إذا كنت بحاجة إلى تغيير الكائنات من هذه الشبكة، ثم ينتهي بك الأمر مع طبقة الترجمة حرج الذي قد ينتهي به الأمر ليس أفضل للأداء. في هذه الحالة، وأنا كسول تحميل لك كائنات المجال. وهناك طرق أخرى يمكنك الضغط على بعض أداء أفضل من أن سحب البيانات، مثل القرص DB (الأرقام القياسية، والتحقق من تجزئة الفهارس، وما إلى ذلك فقط تحقق خطة التنفيذ بعد كتابة الاستعلام).

ويمكنك أيضا تنفيذ ترقيم الصفحات في بروك الخاص بك إذا كنت ستعود قائمة كبيرة من هذه الأشياء الثقيلة بحيث يمكنك فقط الحصول على 10 أو 20 في وقت واحد، وكان المستخدم لديه عدة صفحات لتصفح. بدلا من تحميل قائمة بأكملها وصفحة في التعليمات البرمجية، يمكنك إضافة عمود لrownumber وتمرير بداية رقم الصف ونهاية الذي تريد سحب كمعلمات إلى بروك.

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