Partager via


Optimiser le développement de l’assembly

Catégorie : Performance, maintenabilité, conception

Potentiel d’impact : Faible

Symptômes

Lorsque vous développez des assemblys personnalisés, des considérations sont à prendre en compte dans :

  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 comportant des centaines de plug-ins ordinaires peut être chargé très rapidement, un assembly comportant plus de 100 activités de workflow personnalisées peut prendre plusieurs minutes ou même dépasser le délai d’attente 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) possèdent 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 activité de workflow personnalisée est chargé pendant l’enregistrement, chaque type nécessite une vérification supplémentaire. 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 – chaque assembly a un cycle de vie géré par Dataverse. 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 inscrire un assembly personnalisé dans Dataverse s’il est supérieur à 16 Mo.

Informations supplémentaires

Assez 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

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).