Keine Registrierung von Plug-in-Schritten duplizieren

Kategorie: Leistung

Wirkungspotential: Hoch

Symptome

Die Registrierung eines doppelten Plug-In-Schrittes bewirkt, dass das Plug-in bei derselben Nachricht/Ereignis mehrmals ausgelöst wird. Die Registrierung eines doppelten Plug-In-Schritts könnte zu Folgendem führen:

  • Verzögerte Verarbeitung von asynchronen Aufträgen, wenn sie als asynchroner Ausführungsmodus registriert sind.

  • Beeinträchtigte Benutzerleistung, wenn sie als synchroner Ausführungsmodus registriert sind. Zu den Erfahrungen gehören:

    • Nicht reaktionsfähige, modellgetriebene Anwendungen
    • Langsame Kundeninteraktionen
    • Der Browser reagiert nicht mehr.

Anweisungen

Stellen Sie sicher, dass Sie bestehende Registrierungsschritte für Plug-Ins aktualisieren, anstatt sie zu löschen und neu zu erstellen. Darüber hinaus sollten Sie Plug-in-Registrierungsschritte nur auf unterstützte Weise erstellen und aktualisieren.

Problematische Muster

Warnung

Diese Muster sollten vermieden werden.

Das Löschen und Wiederherstellen eines Schrittes in der Quellinstanz (test, dev, preprod) erzeugt einen doppelten Schritt, der in der Zielumgebung registriert wird, wenn dieser Schritt zuvor registriert wurde.

Registrierung von doppelten Plug-in-Schritten.

Das manuelle Erstellen der SDKMessageProcessingSteps mit einer neuen GUID oder das Aktualisieren der bestehenden GUID innerhalb der Datei customizations.xml führt zur Registrierung eines doppelten Schrittes. Diese Art von Aufgaben wird nicht unterstützt, wie in Wann soll die Anpassungsdatei bearbeitet werden?

Weitere Informationen

Die doppelte Registrierung von Plug-in-Schritten kann zu SQL-Deadlocking führen, wenn die Ereignisse in einer Update-Meldung registriert werden. Wenn Sie eine Aktualisierung für einen Datensatz ausgeben, erstellt SQL eine Zeilensperre für diesen Datensatz. Wenn eine andere Transaktion versucht, den gleichen Datensatz zu aktualisieren, muss sie warten, bis die Sperre freigegeben ist, bevor sie die Aktualisierung durchführen kann. Wenn ein Timeout eintritt, wird die Transaktion zurückgesetzt und das Update wird nicht in die SQL-Datenbank übertragen.

Siehe auch

Registrieren eines Plugins Deadlocking

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).