Κοινή χρήση μέσω


Συμβουλές για προσθήκες χαμηλών απαιτήσεων κώδικα και γνωστά ζητήματα 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

Δείτε επίσης

Χρήση προσθηκών χαμηλών απαιτήσεων κώδικα στο Dataverse