Procedimientos recomendados e instrucciones para el desarrollo de complementos y flujos de trabajo para Microsoft Dataverse

Esta lista contiene instrucciones y procedimientos recomendados para el desarrollo de complementos y flujos de trabajo en Dataverse.

Procedimiento recomendado Descripción
No use tipos de solicitud por lotes en complementos y actividades de flujo de trabajo No use ExecuteMultipleRequest ni ExecuteTransactionRequest las clases de solicitud de mensajes dentro del contexto de una actividad de complemento o flujo de trabajo.
Desarrollar implementaciones de IPlugin como sin estado Los miembros de las clases que implementan IPlugin están expuestos a posibles problemas de seguridad de subprocesos, lo que podría dar lugar a inconsistencias en los datos o problemas de rendimiento.
No duplicar el registro de paso de complemento El registro del paso de complemento duplicado hace que el complemento se active varias veces en el mismo mensaje o evento.
No utilizar ejecución en paralelo en complementos y actividades de flujo de trabajo No se admite el subprocesamiento múltiple o paralelo en complementos o actividades de flujo de trabajo personalizadas.
Implemente todos los tipos de consultas al filtrar resultados mediante PreOperationRetrieveMultiple Para obtener el mejor rendimiento y resultados coherentes para todas las aplicaciones, implemente el filtrado para todos los tipos de consultas que se pueden usar con complementos registrados para la fase de preoperación de RetrieveMultiple.
Incluir atributos de filtrado con el registro de complementos Si no establece atributos de filtrado para un paso de registro de complemento, el complemento se ejecuta cada vez que se produce un mensaje de actualización para ese evento.
Limitar el registro de complementos para los mensajes Retrieve y RetrieveMultiple Agregar lógica sincrónica del complemento a los eventos de mensaje Retrieve y RetrieveMultiple puede causar lentitud.
Gestione complementos en una única solución Mantenga la definición de un ensamblado de complemento dentro de una única solución.
Optimizar el desarrollo de ensamblados personalizados Considere la posibilidad de combinar complementos independientes y actividades de flujo de trabajo personalizadas en un único ensamblado personalizado para mejorar el rendimiento y el mantenimiento. Distribuya los complementos y las actividades de flujo de trabajo personalizadas en varios ensamblados personalizados si el tamaño de un ensamblado se acerca a los límites de tamaño de los ensamblados del entorno aislado.
Establecer KeepAlive en false para interactuar con hosts externos en un complemento Establecer la propiedad KeepAlive en true en el encabezado de la solicitud HTTP, o no definirla explícitamente como false, puede provocar un aumento de los tiempos de ejecución de los complementos.
Establecer tiempo de espera al realizar llamadas externas en un complemento Limite el período de tiempo que las llamadas externas esperarán una respuesta en los complementos.
Utilizar InvalidPluginExecutionException en actividades de complementos y de flujo de trabajo Utilice InvalidPluginExecutionException al generar errores en el contexto de un complemento o una actividad de flujo de trabajo.
Usar ITracingService en los complementos Utiliza ITracingService dentro de tus complementos para obtener visibilidad de lo que sucede cuando se ejecuta tu código.
Verificar dependencias de certificación para complementos que realizan llamadas salientes Asegúrese de que los certificados de los que depende el código para las llamadas salientes tengan una cadena de certificados válida.
Escritura de código eficiente en memoria Recupere únicamente los datos necesarios dentro de su complemento.

Consulte también

Aplicar la lógica de negocios usando código
Use complementos para ampliar los procesos de negocio
Extensiones de flujo de trabajo