Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
[Αυτό το θέμα αποτελεί τεκμηρίωση προέκδοσης και υπόκειται σε αλλαγές.]
Αυτό το άρθρο περιγράφει συμβουλές και γνωστά προβλήματα κατά την εργασία με προσθήκες χαμηλού κώδικα στο Microsoft Dataverse.
Σημαντικό
- Οι άμεσες προσθήκες χαμηλών απαιτήσεων κώδικα δεν έχουν προτεραιότητα και δεν παρέχονται ως δυνατότητα. Οι άμεσες προσθήκες χαμηλών απαιτήσεων κώδικα αντικαθίστανται με λειτουργίες. Περισσότερες πληροφορίες: Λειτουργίες στο Microsoft Dataverse (έκδοση προεπισκόπησης)
- Αυτή είναι μια δυνατότητα προεπισκόπησης.
- Οι λειτουργίες προεπισκόπησης δεν προορίζονται για παραγωγική χρήση και ενδέχεται να έχουν περιορισμένη λειτουργικότητα. Αυτές οι δυνατότητες είναι διαθέσιμες πριν από μια επίσημη κυκλοφορία έτσι ώστε οι πελάτες να έχουν πρόσβαση από νωρίς και να κάνουν σχόλια.
Χειρισμός γενικών ζητημάτων χρόνου εκτέλεσης
Εάν αντιμετωπίζετε προβλήματα με το πρόσθετο χρόνου εκτέλεσης, επεξεργαστείτε ξανά το πρόσθετο χαμηλού κώδικα. Στη συνέχεια, τα ζητήματα intellisense στην παράσταση τύπου εμφανίζονται στο πρόγραμμα επεξεργασίας προσθηκών χαμηλού κώδικα. Ακολουθήστε τις οδηγίες για να διορθώσετε το πρόβλημα που εμφανίζεται επίσης και, στη συνέχεια, αφήστε ξανά την προσθήκη.
Να είστε ιδιαίτερα προσεκτικοί κατά την εφαρμογή επιδιόρθωσης μετά τη λειτουργία
Η εκτέλεση πρόσθετου χαμηλού κώδικα ενδέχεται να αντιμετωπίσει αυτό το σφάλμα κατά τη χρήση Patch μετά από μια λειτουργία: Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.
Η χρήση Patch σε ένα σενάριο μετά τη λειτουργία πρέπει να γίνεται με προσοχή για την αποφυγή ατέρμονων βρόχων. Μια Patch λειτουργία ξεκινά μια νέα συναλλαγή. Για παράδειγμα, εάν ένα έναυσμα ενημέρωσης για MyTable καλείται Patch(MyTable, ThisRecord, ...), αυτή η λειτουργία μπορεί να οδηγήσει σε έναν κύκλο επαναλαμβανόμενης ενημέρωσης.
Ακολουθούν μερικά παραδείγματα λειτουργιών που μπορούν να αποφύγουν αυτό το πρόβλημα:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Χειρισμός του χρονικού ορίου δύο λεπτών
Για λειτουργίες που συνεχίζονται για δύο λεπτά ή και περισσότερο, μπορείτε να λάβετε αυτό το σφάλμα:
Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)
Όταν εργάζεστε με προσθήκες χαμηλού κώδικα Dataverse, είναι σημαντικό να διαχειρίζεστε αποτελεσματικά το χρονικό όριο δύο λεπτών:
- Περιορίστε τον αριθμό των λειτουργιών
PatchκαιCollectστις προσθήκες σας, ειδικά εάν έχετε άλλες προσθήκες που έχουν ήδη καταχωρηθεί σε αυτόν τον πίνακα, οι οποίες μπορούν να επηρεάσουν την απόδοση των προσθηκών σας. - Παρακολουθήστε τις επιδόσεις. Παρακολουθήστε τις επιδόσεις των προσθηκών σας και εξετάστε το ενδεχόμενο να χρησιμοποιήσετε τις δυνατότητες ανίχνευσης και καταγραφής στο Dataverse για να παρακολουθείτε τους χρόνους εκτέλεσης και τις αποτυχίες. Ακολουθώντας αυτές τις οδηγίες, μπορείτε να διασφαλίσετε ότι οι προσθήκες χαμηλού κώδικα λειτουργούν ομαλά εντός του περιβάλλοντος Dataverse χωρίς διακοπή που οφείλεται στο χρονικό όριο των δύο λεπτών. Περισσότερες πληροφορίες: Ανίχνευση και καταγραφή
Η αποτυχημένη απόκριση ελήφθη από το APIM
Εάν λάβετε αυτό το μήνυμα σφάλματος, το οποίο μπορεί να επιστραφεί από τη διαχείριση API (APIM), απλώς επεξεργαστείτε την προσθήκη και, στη συνέχεια, επαναλάβετε την αποθήκευση. Η αποθήκευση προετοιμάζει τον έλεγχο ταυτότητας APIM και η προσθήκη ξεκινά να εκτελείται με επιτυχία.
Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin