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