Restreindre l’inscription de 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 basées sur des modèles qui ne répondent pas
  • Des interactions lentes avec le client
  • L’arrêt des réponses du navigateur

Recommandation

Évaluez la conception des solutions qui incluent des plug-ins enregistrés pour les messages Retrieve et RetrieveMultiple. Généralement, il n’est pas recommandé d′enregistrer des plug-ins pour ces messages en raison des risques associés au ralentissement des demandes pour renvoyer un ou des enregistrements d’entité à partir de différents points d’entrée. Toutefois, ceci peut être approprié pour la conception de votre application. Un exemple d’une application courante serait l’injection de critères de filtre supplémentaires à une requête existante spécifique. Cette approche permet à une solution de compenser ce qui ne peut pas être effectué dans l’interface utilisateur pour les vues. Le concepteur de vues ne doit prendre en charge qu’un certain niveau 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 adaptée, suivez ces conseils pour réduire l’impact sur l’environnement :

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

  • Évitez d’inclure des tâches longues, en particulier des tâches non déterministes, comme l’invocation d’appels de service externes ou de requêtes complexes à Dataverse.

  • Limitez ou évitez d’interroger des informations supplémentaires de Microsoft Dataverse.

Entités virtuelles

Le plus souvent, Retrieve et RetrieveMultiple sont appelés dans des plug-ins pour récupérer les données de sources externes. Les données de sources externes sont affichées dans Power Apps ou utilisé pour utiliser/manipuler des données existantes. Les tables virtuelles Dataverse permettent l’intégration de données résidant dans les systèmes externes en représentant de manière homogène ces données au format tables dans Power Apps, sans réplication des données et souvent sans codage personnalisé.

Récupérer la prudence

Dataverse déclenche au moins deux messages Retrieve pour chaque chargement de formulaire d’entité. Une récupération contient des attributs limités, qui peuvent varier en fonction de l’entité, et les appels ultérieurs incluent plus d’attributs. Si vous souhaitez qu’une seule action se produise lors du chargement d’un formulaire, ne vous basez pas strictement sur le déclencheur d’un message Retrieve.

Informations supplémentaires

Les messages Retrieve et RetrieveMultiple sont les messages traités le plus fréquemment. Le message Retrieve est déclenché en ouvrant un formulaire d’entité ou quand une entité est utilisée à l’aide de l’opération Retrieve à l’un des points de terminaison de service. RetrieveMultiple est déclenché du fait de plusieurs actions dans les points de terminaison d’application et de service, par exemple, en remplissant une grille de l’interface utilisateur. L’ajout d’une logique de plug-in synchrone à ces événements de message peut entraîner de la lenteur.

Voir aussi

sOptimisation des performances de 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

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é).