Compartir vía


Ejemplo de operaciones paralelas de API web con componentes de flujo de datos TPL (C#)

Este ejemplo de .NET 6.0 demuestra cómo realizar operaciones de datos paralelas utilizando la API web de Dataverse con componentes de flujo de datos de biblioteca paralela de tareas (TPL). Más información: Flujo de datos (biblioteca paralela de tareas).

Esta muestra utiliza el código auxiliar común de la biblioteca de clases WebAPIService (C#).

Requisitos previos

  • Microsoft Visual Studio 2022.
  • Acceso a Dataverse con privilegios para realizar operaciones de datos.

Cómo ejecutar esta muestra

  1. Clonar o descargar el repositorio de ejemplos de PowerApps.

  2. Localizar la carpeta /dataverse/webapi/C#-NETx/TPLDataFlowParallelOperations/.

  3. Abrir el archivo TPLDataFlowParallelOperations.sln usando Visual Studio 2022

  4. Editar el archivo appsettings.json para establecer los siguientes valores de propiedad:

    Property Instrucciones
    Url La URL para su entorno. Reemplazar el valor de marcador de posición https://yourorg.api.crm.dynamics.com con el valor para su entorno. Consulte Ver recursos de desarrollador para encontrar la URL de su entorno.
    UserPrincipalName Reemplazar el valor de marcador de posición you@yourorg.onmicrosoft.com con el valor de UPN que usa para acceder al entorno.
    Password Reemplazar el valor de marcador de posición yourPassword con la contraseña que utiliza.
  5. Guarde el archivo appsettings.json

  6. Presione F5 para ejecutar el ejemplo.

Código

El código para este ejemplo está aquí: PowerApps-Samples/dataverse/webapi/C#-NETx/TPLDataFlowParallelOperations/Program.cs

Demostraciones

Esta muestra incluye configuraciones que puede aplicar para optimizar su conexión.

Esta muestra primero envía una solicitud simplemente para acceder al valor del encabezado de respuesta x-ms-dop-hint para determinar los grados recomendados de paralelismo para este entorno. Cuando el grado máximo de paralelismo se establece igual al valor del encabezado de respuesta x-ms-dop-hint, debe lograr un estado estable en el que el rendimiento se optimice con un mínimo de 429 TooManyRequests se devolvieron errores de límite de protección de servicio.

Para encontrar límites de protección de servicio con esta muestra, debe aumentar la variable numberOfRecords a más de 10.000 o lo que sea necesario para que la muestra funcione durante más de 5 minutos. También debe cambiar el código para configurar maxDegreeOfParallelism ser significativamente mayor que el valor de x-ms-dop-hint del encabezado de respuesta. Luego, al usar Fiddler, debería poder observar cómo WebAPIService vuelve a intentar las solicitudes que devuelven este error.

Esta muestra simplemente crea un número configurable de registros de cuenta, que después eliminará. Este ejemplo utiliza componentes de flujo de datos para procesar los registros y transformar los resultados de la operación de creación en la siguiente fase que elimina estos registros. Debido a la naturaleza de este flujo de datos, las operaciones de eliminación de registros creados anteriormente comenzarán antes de que finalicen todos los registros a crear.

Es posible que desee comparar este ejemplo con el Ejemplo de operaciones paralelas de API web CDSWebApiService (C#).

Limpiar

De forma predeterminada, esta muestra elimina todos los registros creados en ella. Si desea ver los registros creados después de completar la muestra, cambie la variable deleteCreatedRecords a false y se le pedirá que decida si desea eliminar los registros.

Consulte también

Usar la API web de Dataverse
Biblioteca de clases WebAPIService (C#)
Crear una fila de tabla usando la API web
Actualizar y eliminar filas de tablas usando la API web
Límites de la API de protección de servicio
Ejemplos de la API web
Ejemplo de operaciones básicas de la API web (C#)
Ejemplo de datos de consulta de API web (C#)
Ejemplo de operaciones condicionales de la API web (C#)
Ejemplo de funciones y acciones de la API web (C#)
Ejemplo de operaciones de esquema de tabla de API web (C#)
Ejemplo de operaciones en paralelo de la API web WebApiService (C#)

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).