Partager via


Optimiser le développement de l’assembly

Catégorie : Performance, maintenabilité, conception

Potentiel d’impact : Faible

Symptômes

Tenez compte des points suivants lors du développement d’assemblages personnalisés :

  1. Les assemblys avec un grand nombre d’activités de workflow personnalisées peuvent prendre beaucoup de temps à se charger lors de leur enregistrement.
  2. Plusieurs assemblys personnalisés distincts
    • Complexité de la maintenabilité accrue
    • Augmentation potentielle de la durée d’exécution des plug-ins
  3. La contrainte de taille d’un assembly Sandbox est 16 Mo dans Microsoft Dataverse.

Recommandation

Limiter le nombre des activités de workflow personnalisées dans un même assembly

Lorsqu’un assembly contenant des activités de workflow personnalisées est chargé pendant l’enregistrement du plug-in, des vérifications supplémentaires sont requises pour les activités de workflow personnalisées.

Alors qu’un assembly avec des centaines de types de plug-ins ordinaires peut être chargé très rapidement, un assembly avec plus de 100 activités de workflow personnalisées peut prendre plusieurs minutes ou même expirer lors de son enregistrement ou de sa mise à jour. Nous vous recommandons de ne pas inclure plus de 50 activités de workflow personnalisées dans un même assembly.

Consolider les plug-ins ou les activités de workflow personnalisées en un assembly unique

Les plug-ins et les activités de workflow personnalisées développées pour une solution Dataverse doivent exister avec d’autres objets dans un projet Visual Studio unique. Envisagez de fusionner des plug-ins/activités de workflow personnalisées distincts en un projet Visual Studio/assembly unique, sauf si le plug-in font partie des exceptions suivantes :

  1. Un plug-in/activité de workflow personnalisée doit d’être déployé de manière sélective dans un environnement mais pas dans d’autres.
  2. La taille physique d’un assembly est proche ou supérieure à 16 Mo pour une instance Dataverse.
  3. Il y aura plus de 50 activités de workflow personnalisées dans l’assembly, comme mentionné dans Limiter le nombre des activités de workflow personnalisées dans un même assembly

Déplacer des plug-ins/activités de workflow personnalisées dans plusieurs assemblys

Power Apps et Dynamics 365 (online) ont une contrainte de taille d’assembly de 16 Mo, qui ne peut pas être modifiée. Si la taille de votre assembly approche de 16 Mo, considérez de déplacer les plug-ins/activités de workflow personnalisées dans plusieurs assemblys.

Schémas problématiques

Le chargement des assembly est assez long lors de leur enregistrement

Lorsqu’un plug-in de type d’activité de workflow personnalisée est chargé pendant l’enregistrement, chaque type nécessite une vérification supplémentaire de la validation. Lorsqu’un assembly contient plus d’une centaine de plug-ins de type activité de workflow personnalisée, les vérifications peuvent prendre plusieurs minutes et il existe un risque de dépassement du délai d’attente.

Assemblys multiples

Avoir plusieurs assemblys peut affecter quelques domaines :

  1. Performances : Dataverse gère le cycle de vie de chaque assembly. Cela inclut le chargement, la mise en cache, et le déchargement des assemblys. Le fait de disposer de plus d’un assembly entraîne plus de travail sur le serveur, le chargement et la mise en cache d’un assembly, et peut affecter la durée d’exécution globale du plug-in/activité de workflow personnalisée.

  2. Maintenabilité - avoir plusieurs projets Visual Studio de plug-in/activité de workflow personnalisée entraîne une gestion du cycle de vie d’application plus complexe. Cela augmente les risques et la durée de mise à jour/correction du projet approprié pour un plug-in/activité de workflow personnalisée spécifique, de mise en package des plug-ins/activités de workflow personnalisées dans une solution, et de gestion des plug-ins/activités de workflow personnalisées dans un déploiement.

Assembly de plus de 16 Mo

Vous ne pourrez pas enregistrer un assembly personnalisé dans Dataverse si sa taille est supérieure à 16 Mo.

Informations supplémentaires

Souvent, les développeurs créent un projet Visual Studio pour chaque plug-in/activité de workflow personnalisée. Consécutivement, cela provoque la création d’un assembly distinct pour chaque plug-in/activité de workflow personnalisée.

Voir aussi

Infrastructure d’événements
Utiliser des plug-ins pour étendre les processus d’entreprise