แชร์ผ่าน


เคล็ดลับและปัญหาที่ทราบสำหรับปลั๊กอิน low-code ของ Microsoft Dataverse (พรีวิว)

[หัวข้อนี้คือเอกสารรุ่นก่อนวางจำหน่าย และอาจจะมีการเปลี่ยนแปลงในอนาคต]

บทความนี้อธิบายเคล็ดลับและปัญหาที่ทราบเมื่อทำงานกับปลั๊กอิน low-code ใน Microsoft Dataverse

ข้อสำคัญ

  • นี่คือคุณลักษณะพรีวิว
  • คุณลักษณะตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริงและอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการเพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น

จัดการปัญหารันไทม์ทั่วไป

หากคุณประสบปัญหาปลั๊กอินรันไทม์ ให้แก้ไขปลั๊กอิน low-code อีกครั้ง จากนั้น ปัญหา IntelliSense ในนิพจน์สูตรของคุณจะแสดงในตัวแก้ไขปลั๊กอิน low-code ปฏิบัติตามคำแนะนำเพื่อแก้ไขปัญหาที่แสดงอยู่ด้วย จากนั้นให้บันทึกปลั๊กอินอีกครั้ง

ใช้ความระมัดระวังเมื่อใช้การแก้ไขหลังการดำเนินการ

การดำเนินการปลั๊กอิน low-code ของคุณอาจพบข้อผิดพลาดนี้เมื่อใช้ 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)

เมื่อทำงานกับปลั๊กอิน low-code ของ Dataverse สิ่งสำคัญคือต้องจัดการการหมดเวลาสองนาทีอย่างมีประสิทธิภาพ:

  • จำกัดจำนวนการดำเนินการ Patch และ Collect ภายในปลั๊กอินของคุณ โดยเฉพาะอย่างยิ่งหากคุณมีปลั๊กอินอื่นที่ลงทะเบียนกับตารางนั้นแล้ว ซึ่งอาจส่งผลต่อประสิทธิภาพของปลั๊กอินของคุณ
  • ตรวจสอบประสิทธิภาพ จับตาดูประสิทธิภาพของปลั๊กอินของคุณและลองใช้ความสามารถในการติดตามและการบันทึกภายใน Dataverse เพื่อติดตามเวลาดำเนินการและความล้มเหลว เมื่อปฏิบัติตามหลักเกณฑ์เหล่านี้ คุณจะมั่นใจได้ว่าปลั๊กอิน low-code ทำงานได้อย่างราบรื่นภายในสภาพแวดล้อม 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

(ดูเพิ่มเติม )

ใช้ปลั๊กอิน low-code ใน Dataverse