ما هي أفضل طريقة لعقد صفحة ASP.NET حتى تنتهي عملية التشغيل الطويلة؟ [مغلق

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

سؤال

جافا سكريبت؟

تحديث metatag؟

Response.redirect (إلى الذات)

Server.Transfer (إلى الذات)

لوحة تحديث AJAX؟

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

المحلول

دعونا نلقي نظرة على الخيارات:

جافا سكريبت؟

يعمل هذا جيدا، طالما أن المستخدم لم يعطئه.

تحديث metatag؟

طريقة محددة لصالح طريقة JavaScript. ومع ذلك، يمكنك استخدامه كنسخة احتياطية إذا تم تعطيل المستخدم JavaScript.

Response.redirect (إلى الذات)

هذا لا يعمل، حيث أن المتصفح لن يظهر أن anyhing مفيد للمستخدم أثناء إعادة توجيه. أيضا، سيتوقف المتصفح عن طلب بعد عدد معين من عمليات إعادة التوجيه لحماية المستخدم من إعادة توجيه لا نهائي.

Server.Transfer (إلى الذات)

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

لوحة تحديث AJAX؟

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

نصائح أخرى

إذا كنت تستطيع الإبلاغ عن أي نوع من التقدم إلى المستخدم، فأنا أميل إلى تشغيل مع ASXH واختلاف إطار إلى الأبد. وبعد إضافة قليلا من JQuery Ui Diadog. و jquery ui شريط التقدم وكنت لديك طريقة لامعة لإلقاء انتباه المستخدمين أثناء قيامك بالرفع الثقيل على الخادم.

أعطيت بعض رمز المثال في 874204 وهذا يدل على التقنية.

إذا لم تتمكن من تقديم تقدم للمستخدم، فأنا أميل إلى استخدام مربع حوار UI و POP A "الرجاء الانتظار أو المعالجة ..." مع شبكة ويب اثنين من نقطة أوه متوافقة مع GIF

تحقق من هذا المقال الصفحات غير المتزامنة. وبعد هنا أيضا مثال من CodeProject. التي تشمل الصفحات غير المتزامنة والتحديث التلوي.

يمكنك العثور على نموذج تنفيذ هذا النوع من الوظائف في مجموعة كاتب البيرة هاوس http://www.asp.net/downloads/starter-kits/the-ber-house/.

ستكون الصفحات Sendingnewsletter.aspx و Sendnewsletter.aspx مفيدة لك. قد يكون هذا مبالا لحيلك على الرغم من ذلك - حتى يظهر تقدم عملية التشغيل الطويلة.

ماذا عن استخدام أياكس WebModalanchor. لإطفاء نافذة مع زر إلغاء؟

أتمنى أن يساعدك هذا،

مشروع قانون

أوصي باستخدام Ajax وعرض تحديث UpdateProgrogress لذلك يعرف المستخدم أنه لا يزال يرفض.

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