No utilizar ejecución en paralelo en complementos y actividades de flujo de trabajo

Categoría: Diseño, rendimiento, seguridad, compatibilidad

Potencial de impacto: alto

Síntomas

El subprocesamiento múltiple o las llamadas en paralelo en complementos o actividades de flujo de trabajo personalizadas pueden producir daños en esas conexiones. Por ejemplo, ejecutar subprocesamiento en paralelo puede registrar excepciones como:

Generic SQL error. The transaction active in this session has been committed or aborted by another session.

Además, objetos seguros sin procesamiento como elementos del Espacio de nombres System.Collections pueden quedar dañados por los subprocesos paralelos.

Instrucciones

El servicio de espacio aislado se ha diseñado para ejecutar llamadas en un orden determinado como parte de una transacción. No se admite el desarrollo de complementos o actividades de flujo de trabajo personalizados para realizar llamadas subprocesamiento múltiple o paralelo. Desarrolle los complementos y actividades de flujo de trabajo personalizadas sabiendo que las llamadas se realizarán de forma secuencial y pueden requerir reversión.

Nota

El uso de la ejecución paralela desde un programa cliente es una práctica admitida para optimizar el rendimiento según sea necesario. Esta instrucciones son específicas del código escrito para ejecutarse en un flujo de trabajo o una actividad de flujo de trabajo personalizada.

Patrones problemáticos

Los complementos y las actividades de flujo de trabajo personalizadas se ejecutan en una sola transacción y varios subprocesos introducidos por la ejecución paralela pueden afectar negativamente a la transacción. Los siguientes son ejemplos de patrones y prácticas que no deberían utilizarse en complementos y actividades de flujo de trabajo personalizadas:

Información adicional

Usar y actualizar objetos de contexto de canalización compartidos puede hacer que estos objetos contengan resultados inesperados o queden dañados. El efecto de esto sería un error en el complemento o la actividad de flujo de trabajo personalizada.

Vea también

Procesamiento en paralelo, simultaneidad, y programación asincrónica en .NET

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).