Compartir a través de


Ejemplo de operaciones condicionales de la API web (C#)

Este ejemplo .NET 6.0 demuestra cómo realizar operaciones de datos comunes utilizando la API web de Dataverse.

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

Nota

Este ejemplo implementa las operaciones de Dataverse y la salida de la consola detalladas en el Ejemplo de operaciones condicionales de la API web y utiliza las construcciones comunes de C# que se describen en Ejemplos de API web (C#).

Requisitos previos

Estos son necesarios para compilar y ejecutar este ejemplo:

  • 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/ConditionalOperations/.

  3. Abrir el archivo ConditionalOperations.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/ConditionalOperations/Program.cs

Demostraciones

Este ejemplo tiene cuatro regiones:

Sección 0: Crear registros de muestra

Operaciones:

  • Crea un solo registro de cuenta.
  • Recuperar el registro y almacena el valor de ETag como initialAcctETagVal.

Sección 1: GET condicional

Operaciones:

  1. Intenta recuperar el registro configurando el encabezado If-None-Match con el valor initialAcctETagVal.

    La solicitud falla con 304 NotModified como se esperaba.

  2. Actualizar el valor de la columna telephone1 del registro.

  3. Intente recuperar el registro de nuevo configurando el encabezado If-None-Match con el valor initialAcctETagVal.

    La solicitud se realizó correctamente porque el valor inicial de ETag ya no coincide.

  4. Guarde el nuevo valor de ETag como updatedAcctETagVal.

Sección 2: Simultaneidad optimista al eliminar y actualizar

Operaciones:

  1. Intente eliminar la cuenta original configurando el encabezado If-Match con el valor initialAcctETagVal.

    La solicitud falla con 412 PreconditionFailed como se esperaba.

  2. Intente actualizar la cuenta original configurando el encabezado If-Match con el valor initialAcctETagVal.

    La solicitud falla con 412 PreconditionFailed como se esperaba.

  3. Intente actualizar la cuenta original configurando el encabezado If-Match con el valor updatedAcctETagVal.

    La solicitud se realiza correctamente porque el valor de ETag coincide con el valor actual del registro.

Sección 3: Eliminar registros de muestra

Operaciones: se agregó una referencia a cada registro creado en esta muestra a una lista a medida que se creaba. Esta sección envía una solicitud $batch para la eliminación del registro.

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

Realizar operaciones condicionales mediante la API web
Usar la API web de Dataverse
Biblioteca de clases WebAPIService (C#)
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 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#)
Ejemplo de operaciones paralelas de API web con componentes de flujo de datos TPL (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).