سؤال

لديّ اثنين من المرشحات المخصصة في إجراء ما.

في البداية من مرشحات ActionFilters ، لدي إعادة توجيه إذا لم يتم استيفاء حالة (إذن كلاسيكي). وفي آخر ، لدي إعادة توجيه إذا لم يتم الوفاء بحالة أخرى (على سبيل المثال فحص الدور).

لكنني لا أرغب في الاستمرار في العمل الثاني إذا لم يتم الوفاء بالسلاح الأول. كيف نفعل ذلك؟

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

المحلول

وضع filterContext.Result العقار إلى أي قيمة غير فائقة سوف تتوقف عن تنفيذ المرشحات اللاحقة. لذلك إذا تم تعيين مرشحك الأول filterContext.Result = new RedirectResult(...), ، لن يتم تشغيل المرشح الثاني وطريقة الإجراء. هذه هي الطريقة المدمجة [Authorization] تصفية أعمال.

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