إطَار عمل الحدث

مكتمل

يعرض Microsoft Dataverse الأحدَاث للإشَارة إلى المكَان الذي تنفّذ فيه العَمَلية حَاليًا إطَار العمل Pipeline-Wise. يمكنك معَالجة هذه الأحدَاث لإجرَاء أشيَاء مثل التحقق مِن صحة البيَانَات أو منع العَمليَات مِن الاكتمَال أو أتمتة أي نوع مِن منطق الأعمَال التي لا يمكنك تنفيذهَا بواسطة وسَائل تعريفية.

يمكنك الاشترَاك فِي هذه الأحدَاث عن طريق تسجيل تجميعَات ‏‎.NET (تسمى مكونَات إضَافية) لتنفيذ المنطق المخصص كلمَا تم إجرَاء الحدث المحدد. تقوم بإجرَاء التسجيل باستخدَام ‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫أدَاة تسمى Plugin Registration Tool. لمزيدٍ من المعلومَات حول "‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫أدَاة تسجيل المكون الإضَافي"، رَاجع تسجيل برنَامج تعليمي للمكون الإضَافي.

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

لندخل الآن فِي هذه المجَالات الثلاثة بمزيد مِن التفصيل.

رسَائل الأحدَاث

يعرض Dataverse العديد مِن الرسَائل التي يتم نشرهَا عند حدوث عمليَات بيَانَات متعددة. لمزيد مِن المعلومَات حول هذه الرسَائل، رَاجع استخدَام الرسَائل مع خدمة المؤسسة.

تتمثل عمليَات البيَانَات الأسَاسية المعروضة بواسطة Dataverse في:

  • إنشَاء

  • الاستردَاد

  • استردَاد العديد

  • التحديث

  • حذف

  • الإقرَان‬

  • ‏‫إلغَاء الإقرَان‬

وهنَاك أيضًا العديد مِن الرسَائل التي يتم عرضهَا حسب السيَاق، اعتمَادًا عَلى نوع الجدول الذي تتعَامل معه. على سبيل المثَال، إذا كَان الجدول به عمود "القيمة المحتسبة"، فيمكنني تنفيذ معَالج الأحدَاث عَلى رسَالة الحدث CalculateRollupField.

بشكل عَام، يمكننَا العثور عَلى مخزون لهذه الرسَائل المخصصة التي تم توفيرهَا عبر Dataverse مِن خلال البحث عبر مسَاحة الاسم Microsoft.Sdk.Messages لأي فئَات ينتهي اسمهَا فِي \Request. وتوجد طريقة أخرى لمعرفة الرسَائل المتوفرة لنوع معين مِن الجدَاول وهي التنقل فِي مجموعَات الرسَائل والجدول عبر Plugin Registration Tool.

كمَا يمكننَا إنشَاء الرسَائل الخَاصة بنَا وعرضهَا عن طريق إنشَاء إجرَاءَات مخصصة. لمزيد مِن المعلومَات حول الإجرَاءَات، رَاجع إنشَاء إجرَاءَات خَاصة بك.

البنية الأسَاسية لبرنَامج ربط العَمليَات التجَارية للحدث

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

تحقق مسبق مِن الصحة

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

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

عملية مسبقة

استخدم هذا الحدث إذا أردت تغيير أي قيم مِن الجدول قبل حفظه.

مَا بعد التَشغيل

استخدم هذا الحدث لتعديل أي خصَائص رسَالة قبل أن يحصل طَالب الطلب عَلى الاستجَابة. تجنب تطبيق تحديثَات للجدول المطَابق فِي هذه المرحلة حيث سيؤدي ذلك إلى تَشغيل حدث تحديث آخر.

أوضَاع التنفيذ (متزَامن مقَابل غير متزَامن)

يمكنك تكوين المكونَات الإضَافية للتَشغيل بشكل متزَامن أو غير متزَامن، اعتمَادًا عَلى نوع تَشغيل المسَار الذي يتم التعَامل معه.

متزَامنة

سيتم تَشغيل المكونَات الإضَافية المسجلة فِي هذا الوَضع بمجرد أن تصل معَالجة الحدث إلى مرحلة مسَار التنفيذ، ولن تتم متَابعة العَمَلية بأكملهَا حتى يكتمل تنفيذ المنطق. إذا تم تسجيل العديد مِن المكونَات الإضَافية للتَشغيل عَلى نفس مرحلة التدفق، فستحدد سمة أمر التنفيذ (المحددة عبر Plug-in Registration tool) أي المكونَات الإضَافية سيتم تَشغيلهَا أولاً.

غير متزَامنة

يتم إرسَال المكونَات الإضَافية المسجلة فِي هذا الوَضع كوظيفة نظَام إلى الخدمة غير المتزَامنة، والتي تنفّذ منطقهَا بعد اكتمَال العَمَلية المحددة. لمزيد مِن المعلومَات حول كيفية عمل وظَائف النظَام، رَاجع خدمة غير متزَامنة.

‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫‏‫ملاحظة

يمكنك فقط تسجيل مكونَات إضَافية للمرحلة التَشغيل اللاحق فِي "البنية الأسَاسية لبرنَامج ربط العَمليَات التجَارية للحدث".