Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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