Melhores práticas e orientações sobre o desenvolvimento do fluxo de trabalho e de plug-ins para o Common Data ServiceBest practices and guidance regarding plug-in and workflow development for the Common Data Service

A lista abaixo contém todas as orientações e melhores práticas para o desenvolvimento do fluxo de trabalho e de plug-ins no Common Data Service.This list below contains all of the guidance and best practices regarding the plug-in and workflow development within the Common Data Service.

Melhores PráticasBest Practice DescriçãoDescription
Avoid usage of batch request types in plug-ins and workflow activities (Evitar a utilização dos tipos de pedido de lote em atividades de fluxo de trabalho e plug-ins)Avoid usage of batch request types in plug-ins and workflow activities Não deve utilizar classes de pedido de mensagem ExecuteMultipleRequest ou ExecuteTransactionRequest no contexto de uma atividade de fluxo de trabalho ou plug-in.You shouldn't use ExecuteMultipleRequest or ExecuteTransactionRequest message request classes within the context of a plug-in or workflow activity.
Develop IPlugin implementations as stateless (Desenvolver implementações do IPlugin como sem estado)Develop IPlugin implementations as stateless Os membros de classes que implementam o IPlugin estão expostos a problemas de potenciais ameaças à segurança que podem levar à inconsistência de dados ou problemas de desempenho.Members of classes that implement IPlugin are exposed to potential thread-safety issues which could lead to data inconsistency or performance problems.
Do not duplicate plug-in step registration (Não duplicar o registo de passos do plug-in)Do not duplicate plug-in step registration Duplicar o registo de passos do plug-in fará com que o plug-in seja acionado múltiplas vezes na mesma mensagem/evento.Duplicate plug-in step registration will cause the plug-in to fire multiple times on the same message/event.
Include filtering attributes with plug-in registration (Incluir atributos de filtragem com o registo do plug-in)Include filtering attributes with plug-in registration Se não estiverem configurados atributos de filtragem para um passo de registo do plug-in, este será executado sempre que uma mensagem de atualização for apresentada para esse evento.If no filtering attributes are set for a plug-in registration step, then the plug-in will execute every time an update message occurs for that event.
Limit the registration of plug-ins for Retrieve and RetrieveMultiple messages (Limitar o registo dos plug-ins para mensagens Retrieve e RetrieveMultiple)Limit the registration of plug-ins for Retrieve and RetrieveMultiple messages Adicionar uma lógica de plug-in síncrona aos eventos da mensagem Retrieve e RetrieveMultiple pode causar lentidão.Adding synchronous plug-in logic to the Retrieve and RetrieveMultiple message events can cause slowness.
Optimize custom assembly development (Otimizar o desenvolvimento da assemblagem personalizada)Optimize custom assembly development Considere unir plug-ins/atividades de fluxo de trabalho personalizadas separadas a uma única assemblagem personalizada para melhorar o desempenho e a manutenção, bem como mover plug-ins/atividades de fluxo de trabalho personalizadas para múltiplas assemblagens personalizadas se a dimensão de uma assemblagem estiver próxima das restrições de dimensão da assemblagem do sandbox.Consider merging separate plug-ins/custom workflow activities into a single custom assembly to improve performance and maintainability and move plug-ins/custom workflow activities into multiple custom assemblies if an assembly size is near the sandbox assembly size constraints.
Set KeepAlive to false when interacting with external hosts in a plug-in (Definir a propriedade KeepAlive como falsa ao interagir com anfitriões externos num plug-in)Set KeepAlive to false when interacting with external hosts in a plug-in A propriedade KeepAlive definida como verdadeira no cabeçalho do pedido HTTP ou não definida explicitamente como falsa pode aumentar o tempo de execução dos plug-ins.KeepAlive property set to true in the HTTP request header or not explicitly defined as false can cause increased execution times of plug-ins.
Use InvalidPluginExecutionException in plug-ins and workflow activities (Utilizar a propriedade InvalidPluginExecutionException em atividades de fluxo de trabalho e plug-ins)Use InvalidPluginExecutionException in plug-ins and workflow activities Utilize a propriedade InvalidPluginExecutionException ao detetar erros no contexto de uma atividade de fluxo de trabalho e plug-in.Use InvalidPluginExecutionException when raising errors within the context of a plug-in or workflow activity.

Ver TambémSee Also

Aplicar lógica de negócio com códigoApply business logic using code
Use plug-ins to extend business processes (Utilizar plug-ins para expandir processos empresariais)Use plug-ins to extend business processes
Workflow extensions (Extensões de fluxo de trabalho)Workflow extensions