Partager via


Limiter l'inscription des plug-ins pour les messages Retrieve et RetrieveMultiple

Catégorie : Performance

Potentiel d’impact : Moyen

Symptômes

L’ajout d’une logique de plug-in synchrone aux événements de message Retrieve et RetrieveMultiple peut entraîner :

  • Des applications pilotées par modèle qui ne répondent pas
  • Des interactions lentes avec le client
  • L’arrêt des réponses du navigateur

Instructions

Évaluez la conception des solutions qui incluent des plug-ins enregistrés pour les messages Retrieve et RetrieveMultiple. En règle générale, il n’est pas recommandé d’inscrire des plug-ins pour ces messages en raison des risques associés au ralentissement des demandes de retour d’un enregistrement d’entité ou d’enregistrements à partir de différents points d’entrée. Toutefois, il peut être approprié pour la conception de votre application. Un exemple d’application courante serait l’injection de critères de filtre supplémentaires dans une requête existante spécifique. Cette approche permet à une solution de compenser ce qui ne peut pas être fait dans l’interface utilisateur pour les vues. Le concepteur de vues ne peut prendre en charge qu’une certaine profondeur de complexité, puis d’autres options doivent être utilisées pour augmenter les résultats ou la requête.

S’il s’agit d’une solution appropriée, suivez ces conseils pour réduire l’impact sur l’environnement :

  • Incluez des conditions dans le code de plug-in pour vérifier rapidement si la logique ciblée doit être effectuée. Si ce n’est pas le cas, retournez rapidement, en s’abstenant d’exécuter des étapes supplémentaires inutiles qui retardent le retour des données à l’appelant.

  • Évitez d’inclure des tâches longues, en particulier des tâches non déterministes, telles que l’appel de services externes ou les requêtes complexes dans Dataverse.

  • Limitez ou évitez d’interroger davantage de données à partir de Microsoft Dataverse.

Entités virtuelles

Le plus souvent Retrieve et RetrieveMultiple sont appelés dans des plug-ins pour récupérer des données à partir de sources externes. Les données des sources externes sont rendues dans Power Apps ou utilisées pour travailler/manipuler des données existantes. Les tables virtuelles Dataverse permettent l’intégration de données résidant dans des systèmes externes en représentant en toute transparence ces données sous forme de tables dans Power Apps, sans réplication de données et souvent sans codage personnalisé.

Récupérer la prudence

Dataverse déclenche au moins deux Retrieve messages pour chaque chargement de formulaire d’entité. Une récupération contient des attributs limités, qui peuvent varier selon l’entité, et les appels suivants incluent d’autres attributs. Si vous vous attendez à ce qu’une seule action se produise pendant le chargement d’un formulaire, ne vous appuyez pas strictement sur le déclencheur d’un Retrieve message.

Informations supplémentaires

Les messages Retrieve et RetrieveMultiple sont deux des messages les plus fréquemment traités. Le Retrieve message est déclenché lors de l’ouverture d’un formulaire d’entité ou lorsqu’une entité est accessible à l’aide de l’opération Retrieve dans l’un des points de terminaison de service. RetrieveMultiple est déclenché en raison de diverses actions dans les points de terminaison d’application et de service, par exemple lors de la remplissage d’une grille dans l’interface utilisateur. L’ajout d’une logique de plug-in synchrone à ces événements de message peut entraîner une lenteur.

Voir aussi

Optimisations des performances pour Microsoft Dynamics CRM Online
Création et modification d’entités virtuelles qui contiennent des données provenant d’une source de données externe