Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Categoria: Desempenho
Potencial de impacto: Médio
Symptoms
A adição da lógica de plug-in síncrona aos eventos de mensagem Retrieve e RetrieveMultiple pode resultar em:
- Aplicativos baseados em modelo sem resposta
- Interações lentas do cliente
- O navegador para de responder
Orientações
Avalie o design de soluções que incluem plug-ins registrados para mensagens Retrieve e RetrieveMultiple. Em geral, não registre plug-ins para essas mensagens porque elas podem reduzir a velocidade das solicitações para retornar um registro de entidade ou registros de vários pontos de entrada. No entanto, pode ser apropriado para o design do aplicativo. Um exemplo de um aplicativo comum é a injeção de mais critérios de filtro para uma consulta existente específica. Essa abordagem permite que uma solução compense o que não pode ser feito na interface do usuário para exibições. O designer de exibição dá suporte apenas a uma determinada profundidade de complexidade. Para ir além dessa profundidade, você deve empregar outras opções para aumentar os resultados ou a consulta.
Se for uma solução apropriada, siga estas dicas para minimizar o impacto no ambiente:
Inclua condições no código do plug-in para verificar rapidamente se a lógica de destino precisa ser executada. Se não, retorne rapidamente, evitando a execução de etapas desnecessárias que atrasam o retorno dos dados ao solicitante.
Evite incluir tarefas de execução prolongada, especialmente tarefas não determinísticas, como a invocação de chamadas de serviço externo ou consultas complexas para o Dataverse.
Limite ou evite consultar mais dados de Microsoft Dataverse.
Entidades virtuais
Os desenvolvedores normalmente chamam Retrieve e RetrieveMultiple dentro de plug-ins para obter dados de fontes externas. Você pode exibir os dados de fontes externas em Power Apps ou usá-los para trabalhar e manipular dados existentes. Usando tabelas virtual do Dataverse, você pode integrar dados que residem em sistemas externos, representando perfeitamente esses dados como tabelas em Power Apps, sem replicar dados e, muitas vezes, sem codificação personalizada.
Recuperar cautela
O Dataverse dispara pelo menos duas mensagens Retrieve para cada carregamento de formulário de entidade. Uma recuperação contém atributos limitados, que podem variar conforme a entidade, e as chamadas subsequentes incluem mais atributos. Se você espera que uma única ação ocorra durante o carregamento de um formulário, não confie estritamente no gatilho de uma Retrieve mensagem.
Informações adicionais
As mensagens Retrieve e RetrieveMultiple são duas das mensagens processadas com mais frequência. O sistema aciona a mensagem Retrieve quando você abre um formulário de entidade ou acessa uma entidade usando a operação Retrieve em um dos endpoints de serviço. Várias ações nos pontos de extremidade do aplicativo e serviço acionam RetrieveMultiple. Por exemplo, quando a interface do usuário preenche uma grid, ela aciona RetrieveMultiple. Adicionar lógica de plug-in síncrona a esses eventos de mensagem pode causar lentidão.
Consulte também
Performance Optimizations for Microsoft Dynamics CRM Online
Criar e editar entidades virtuais que contêm dados de uma fonte de dados externa