Compartir a través de


Ejemplo: Biblioteca paralela de tareas con CrmServiceClient

En este ejemplo de .NET de C# se muestra cómo usar la CrmServiceClient clase con la biblioteca paralela de tareas (TPL).

Nota:

También podría usar ServiceClient en lugar de la clase CrmServiceClient en este ejemplo.

La biblioteca paralela de tareas permite a los desarrolladores ser más productivos al simplificar el proceso de agregar paralelismo y simultaneidad a las aplicaciones. Agregar paralelismo y simultaneidad puede mejorar significativamente el rendimiento total de las aplicaciones que necesitan realizar un gran número de operaciones de Dataverse en un breve período de tiempo.

Requisitos

  • Visual Studio 2019 o posterior
  • Entorno de prueba de Dataverse y credenciales de inicio de sesión de usuario válidas

Cómo ejecutar el ejemplo

  1. Clone el repositorio PowerApps-Samples para que tenga una copia localmente.
  2. Abra el archivo dataverse\Xrm Tooling\TPLCrmServiceClient\TPLCrmServiceClient.sln en Visual Studio.
  3. Presione F5 para compilar y ejecutar el programa.

Demostraciones

Dado que la CrmServiceClient clase incluye el control de los errores transitorios producidos por los límites de protección del servicio Dataverse, la combinación de TPL y CrmServiceClient es útil para crear aplicaciones que puedan optimizar el rendimiento al tiempo que sean resistentes a los errores de límite de protección de servicio, intentando nuevamente las solicitudes que se rechazan debido a estos límites. El CrmServiceClient.Clone() método permite que TPL use el cliente con varios subprocesos.

Más información: Límites de la API de protección de servicios

Nota:

También puede usar el ServiceClient.Clone método en este código de ejemplo en lugar de CrmServiceClient.Clone() con los mismos resultados.

Este ejemplo generará una serie de filas de tabla de cuentas mediante el Parallel.ForEach método y, a continuación, usará esa técnica de nuevo para eliminar las tablas creadas. De forma predeterminada, este ejemplo creará solo 10 filas, lo que no es suficiente para alcanzar los errores de límite de API de protección de servicio. Si eleva el valor de la numberOfRecords variable a 10000, puede usar Fiddler para observar cómo se rechazarán y volverán a intentar algunas de las solicitudes.

Consulte también

Biblioteca paralela de tareas (TPL)