Don't duplicate plug-in step registration
Category: Performance
Impact potential: High
Symptoms
Duplicate plug-in step registration causes the plug-in to fire multiple times on the same message/event. Duplicate plug-in step registration could lead to:
Delayed processing of asynchronous jobs when registered as an asynchronous execution mode.
Degraded user performance experience when registered as a synchronous execution mode. Experiences include:
- Unresponsive model-driven apps
- Slow client interactions
- The browser stops responding
Guidance
Ensure you're updating existing plug-in registration steps rather than deleting and re-creating them. Additionally, only create and update plug-in registration steps in a supported manner.
Problematic patterns
Warning
These patterns should be avoided.
Deleting and recreating a step in the source instance (test, dev, preprod) creates a duplicate step being registered in the target environment if that step was registered before.
Manually creating the SDKMessageProcessingSteps
with a new GUID or updating the existing GUID within the customizations.xml
file results in a duplicate step being registered. These types of tasks are unsupported as outlined in When to edit the customizations file.
Additional information
Duplicate plug-in step registration could cause SQL deadlocking when the events are registered on an update message. When issuing an update on a record, SQL creates a row lock on that record. If another transaction tries to update that same record, it has to wait until the lock is released before it's able to make the update. If a timeout occurs, the transaction is rolled back and the update isn't committed to the SQL database.
See also
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기