سؤال

لقد قمنا بتطوير موقع ويب يستخدم MVC وC# وjQuery.في إحدى فئات وحدة التحكم الخاصة بي، نقوم بالتحقق من صحة المدخلات من المستخدم، وإذا فشلت، فإننا نطرح استثناءً تعالجه معلمة خطأ Ajax (ويعرف أيضًا باسم الخيار).(نستخدم Block UI لعرض رسالة الخطأ.blockui هو مكون إضافي jQuery يحظر الشاشة ويعرض مربع رسالة.) (نعم ، تحتوي الرسالة على نص معها بدون أحرف مضحكة أو غير مدفوعة)

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

محليا:يتم عرض الاستثناء المناسب في BlockUI.الخادم:يتم عرض الرسالة "خطأ وقت التشغيل" بدلاً من رسالة الاستثناء.

print(  
    public ActionResult FailUpdateStatus(string id)
    {
        string message = Request.Form["message"];

        throw new Exception(message);
    }
);

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

أيه أفكار؟

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

المحلول

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

لعرض الرسائل التي تم إنشاؤها على خادم بعيد من عميل محلي، قم بإضافة التعليمة البرمجية التالية إلى ملف web.config الخاص بك.

<configuration><system.web><customErrors mode="Off"/></system.web></configuration>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top