Desarrollo de complementos local

Un complemento es una lógica de negocios personalizada (código) que puede integrar con Dynamics 365 Customer Engagement (on-premises) para modificar o mejorar el comportamiento estándar de la plataforma. Otra forma de pensar en los complementos es considerarlos como controladores de eventos desencadenados por Dynamics 365 Customer Engagement (on-premises). Puede suscribir, o registrar, un complemento en un conjunto conocido de eventos para que su código se ejecute cuando se produzca el evento.

Para obtener más información sobre el tiempo de ejecución de los complementos, vea Marco de trabajo de eventos.

Nota

La documentación a continuación describe opciones adicionales que solo están disponibles en entornos locales. Para obtener información general sobre cómo escribir complementos que funcionen tanto para implementaciones locales como en línea, lea el tema Usar complementos para ampliar los procesos empresariales en la documentación de Dataverse.

Procedimientos recomendados para el desarrollo de complementos local

Esta sección incluye las prácticas recomendadas específicas del desarrollo de complementos local

No dependen de referencias a las variables incluidas en los complementos

En un entorno local donde los complementos de una plena confianza se ejecutan en el mismo dominio de la aplicación, no espere que una variable que hace referencia a los datos incluidos en el complemento mantenga una referencia al objeto.

Cuando los datos se pasa a la canalización de eventos, los datos se serializan y se deserializan para crear nuevas instancias de objeto. Las instancias de objeto no hacen referencia a la misma dirección de memoria. Los cambios al objeto de la canalización ejecución de complementos no se reflejarán en una instancia de objeto que se haya pasado a una operación de la canalización.

Por ejemplo, si define una QueryExpression que se incluya en RetrieveMultipleRequest, si hay código dentro de un complemento que cambia la QueryExpression, el cambio no se producirá en la variable de instancia original de QueryExpression que se pasó con la solicitud RetrieveMultiple. Dentro de canalización, las propiedades de objecto de QueryExpression se pueden actualizar en el proceso de recuperación de datos. Por ejemplo, la propiedad QueryExpression.PageInfo se actualizará como parte de la ejecución de la consulta. No podrá detectar estos cambios examinando la variable original de QueryExpression usada en la RetrieveMultipleRequest.

¿Dónde debe poner complementos y actividades personalizadas del flujo de trabajo?

Para complementos de disco local o actividades personalizadas de flujo de trabajo, ubique los ensamblados en la carpeta <installdir>\Server\bin\assembly.

En esta sección

Suplantación en complementos

Registrar e implementar complementos

Depurar un complemento

Acceso a recursos web externos

Ejecución de complementos sin conexión

Escribir complementos para ampliar los procesos de negocio
Autenticación de servicios web y suplantación
Use complementos para ampliar los procesos de negocio en Dataverse