Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette liste contient des conseils et des bonnes pratiques pour le développement de plug-in et de flux de travail dans Dataverse.
| Meilleures pratiques | Description |
|---|---|
| Ne pas utiliser les types de demandes par lots dans les plug-ins et les activités de workflow | N’utilisez pas les classes de requête de message ExecuteTransactionRequest ou ExecuteMultipleRequest dans le contexte d’une activité de plug-in ou de workflow. |
Développer des implémentations IPlugin en mode sans état |
Les membres des classes qui implémentent IPlugin sont exposés à des problèmes potentiels de sécurité du thread, qui peuvent conduire à une incohérence des données ou à des problèmes de performances. |
| Ne pas dupliquer l’étape d’inscription du plug-in | Les inscriptions en double d’étapes de plug-in entraînent plusieurs déclenchements du plug-in pour le même message ou événement. |
| Ne pas utiliser l’exécution en parallèle dans les plug-ins et les activités de workflow | L’utilisation de plusieurs threads ou de threads parallèles dans les plug-ins ou les activités de workflow personnalisées n’est pas prise en charge. |
Mettre en œuvre tous les types de requêtes lors du filtrage des résultats à l’aide de PreOperationRetrieveMultiple |
Pour des performances optimales et des résultats cohérents pour toutes les applications, implémentez le filtrage pour tous les types de requêtes qui peuvent être utilisés avec des plug-ins inscrits pour la phase PreOperation de RetrieveMultiple. |
| Inclure des attributs de filtrage dans l’inscription du plug-in | Si vous ne définissez pas d’attributs de filtrage pour une étape d’inscription de plug-in, le plug-in s’exécute chaque fois qu’un message de mise à jour se produit pour cet événement. |
| Restreindre l’inscription de plug-ins pour les messages Retrieve et RetrieveMultiple | L’ajout d’une logique de plug-in synchrone aux événements de message Retrieve et RetrieveMultiple peut entraîner des lenteurs. |
| Gérer les plug-ins dans une solution unique | Conservez la définition d’un assembly de plug-in dans une solution unique. |
| Optimiser le développement d’un assembly personnalisé | Envisagez de fusionner des plug-ins distincts et des activités de flux de travail personnalisées dans un seul assembly personnalisé pour améliorer les performances et la maintenance. Déplacez les plug-ins et les activités de workflow personnalisées vers plusieurs assemblys personnalisés si la taille d’un assembly approche des limites de taille imposées aux assemblys dans le bac à sable. |
| Définissez KeepAlive sur false lorsque vous interagissez avec des hôtes externes dans un plug-in | Définir la propriété KeepAlive sur true dans l’en-tête de requête HTTP, ou ne pas la définir explicitement sur false, peut entraîner une augmentation du temps d’exécution des plug-ins. |
| Définir le délai d’expiration lors d’appels externes dans un plug-in | Limitez la période pendant laquelle les appels externes attendent une réponse dans les plug-ins. |
| Utilisation d’InvalidPluginExecutionException dans les plug-ins et les activités de workflow | Utilisez InvalidPluginExecutionException pour générer des erreurs dans le contexte d’un plug-in ou d’une activité de workflow. |
| Utilisation d’ITracingService dans les plug-ins | Utilisez ITracingService dans vos plug-ins pour mieux comprendre ce qui se passe lorsque votre code s’exécute. |
| Vérifier les dépendances de certification pour les plug-ins effectuant des appels sortants | Vérifiez que les certificats dont dépend votre code pour les appels sortants ont une chaîne de certificats valide. |
| Écriture de code efficace en mémoire | Récupérez uniquement les données nécessaires dans votre plug-in. |
Voir aussi
Appliquer la logique métier avec du code
Utiliser des plug-ins pour étendre les processus d’entreprise
Extensions de workflow