カテゴリ: パフォーマンス
影響の可能性: 高い
症状
プラグインステップの登録が重複すると、プラグインは同じメッセージ/イベントで複数回起動します。 プラグイン ステップの登録が重複すると、次の原因になる可能性があります。
非同期実行モードとして登録されている場合の非同期ジョブの処理の遅延。
同期実行モードとして登録されている場合のユーザー パフォーマンス エクスペリエンスの低下。 エクスペリエンスには次のものが含まれます。
- 応答しないモデル駆動型アプリ
- クライアントの操作が遅い
- ブラウザーが応答を停止する
ガイダンス
既存のプラグイン登録手順を削除して再作成するのではなく、更新していることを確認します。 さらに、サポートされている方法でプラグイン登録手順を作成および更新するだけです。
問題となるパターン
Warnung
これらのパターンは、回避する必要があります。
ソース インスタンス (テスト、開発、事前実行) でステップを削除して再作成すると、そのステップが前に登録されている場合、ターゲット環境に登録されている重複するステップが作成されます。
新しい GUID を使用して SDKMessageProcessingSteps を手動で作成するか、 customizations.xml ファイル内の既存の GUID を更新すると、重複する手順が登録されます。 これらの種類のタスクは、「 カスタマイズ ファイルを編集するタイミング」で説明されているようにサポートされていません。
追加情報
プラグイン ステップの登録が重複すると、更新メッセージにイベントが登録されたときに SQL デッドロックが発生する可能性があります。 レコードに対して更新を発行すると、SQL はそのレコードに対して行ロックを作成します。 別のトランザクションで同じレコードを更新しようとすると、ロックが解除されるまで待機してから更新を行う必要があります。 タイムアウトが発生した場合、トランザクションはロールバックされ、更新は SQL データベースにコミットされません。