Inicio rápido: ejecutar una solicitud de SDK para .NET (C#)

Este tema le muestra cómo comenzar a usar clases en el SDK para ensamblados .NET para trabajar con datos profesionales de Microsoft Dataverse. Creará una aplicación de consola mínima para conectarse al servicio de la organización de su entorno mediante la clase ServiceClient y ejecutar una operación de servicio web.

Su aplicación llamará al método IOrganizationService.Execute pasando una instancia de la clase WhoAmIRequest . El resultado devuelto por el servicio web es un valor completo WhoAmIResponse.UserId que es el identificador único de su cuenta de usuario de Dataverse del sistema.

Nota

Este ejemplo de tutorial no incluye tratamiento de excepción para la brevedad. Es un ejemplo de código mínimo de lo que necesita para conectarse y usar el SDK para .NET.

Puede obtener el ejemplo de código completo en GitHub para Comenzar. Consulte el LÉAME del programa para más detalles.

Requisitos previos

  • Visual Studio (2022 o posterior)
  • Conexión a Internet
  • Credenciales de inicio de sesión de una cuenta de usuario del sistema de Dataverse para el entorno de destino
  • Dirección URL al entorno de Dataverse con el que quiere conectarse
  • Comprensión básica de lenguaje Visual C#

Crear proyecto de Visual Studio

  1. Crear un nuevo proyecto de aplicación de consola .NET. Para este proyecto utilizamos Visual Studio 2022 y apuntamos a .NET 6.

    Inicie un proyecto de aplicación de consola.

  2. En el Explorador de soluciones haga clic con el botón secundario en el proyecto que ha creado y seleccione Administrar paquetes de NuGet... en el menú contextual.

    Agregar paquete de NuGet.

  3. Busque la versión del paquete Microsoft.PowerPlatform.Dataverse.Client NuGet más reciente e instálela.

    Instale el paquete NuGet Microsoft.PowerPlatform.Dataverse.Client.

Nota

Se le pedirá que acepte los cambios de la versión preliminar y luego seleccione Acepto en el cuadro de diálogo Aceptación de licencia.

Agregar código de aplicación

  1. En Explorador de la solución, haga doble clic en Program.cs para editar ese archivo. Reemplace el contenido del archivo con el código que se muestra a continuación.

    using Microsoft.Crm.Sdk.Messages;
    using Microsoft.PowerPlatform.Dataverse.Client;
    using Microsoft.Xrm.Sdk;
    
    class Program
    {
       // TODO Enter your Dataverse environment's URL and logon info.
       static string url = "https://yourorg.crm.dynamics.com";
       static string userName = "you@yourorg.onmicrosoft.com";
       static string password = "yourPassword";
    
       // This service connection string uses the info provided above.
       // The AppId and RedirectUri are provided for sample code testing.
       static string connectionString = $@"
       AuthType = OAuth;
       Url = {url};
       UserName = {userName};
       Password = {password};
       AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d;
       RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97;
       LoginPrompt=Auto;
       RequireNewInstance = True";
    
       static void Main()
       {
          //ServiceClient implements IOrganizationService interface
          IOrganizationService service = new ServiceClient(connectionString);
    
          var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
          Console.WriteLine($"User ID is {response.UserId}.");
    
    
          // Pause the console so it does not close.
          Console.WriteLine("Press the <Enter> key to exit.");
          Console.ReadLine();
       }
    }
    
  2. Cambie los valores de url, userName y password como lo indica el comentario del código // TODO .

    Nota

    Puede encontrar la URL de su entorno en la aplicación web heredada en Configuración > Personalización > Recursos para desarrolladores o en la Configuración de Power Apps (icono del engranaje) > Recursos para desarrolladores.

    Si bien este ejemplo de código coloca la información de nombre de usuario o contraseña en el código para simplificar, otros ejemplos de código utilizarán el enfoque más recomendado de solicitar esa información o almacenarla en un archivo App.config o appsettings.json separado.

    Puede encontrar los valores admitidos para AuthType enumerados en Parámetros de cadena de conexión.

Ejecutar el programa

Pulse F5 para ejecutar el programa. El resultado deberá ser ahora similar a esto:

User ID is 969effb0-98ae-478c-b547-53a2968c2e75
Press any key to exit.

Utilizar los métodos de la interfaz IOrganizationService

Observe que el Dataverse.Client.ServiceClient que utiliza este programa implementa la Interfaz IOrganizationService que incluye el método Execute.

Para ver y comprender la interfaz IOrganizationService un poco mejor, pruebe esto:

  1. Vaya al artículo de referencia de la clase WhoAmIRequest.

  2. Copie el método de ejemplo de ese artículo. Tiene este aspecto:

    /// <summary>
    /// Outputs the data returned from the WhoAmI message
    /// </summary>
    /// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
    static void WhoAmIExample(IOrganizationService service) {
    
       var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
       Console.WriteLine($"OrganizationId:{response.OrganizationId}");
       Console.WriteLine($"BusinessUnitId:{response.BusinessUnitId}");
       Console.WriteLine($"UserId:{response.UserId}");
    
    }
    

    Observe que acepta una instancia de servicio IOrganizationService como parámetro.

  3. Pegue este método WhoAmIExample debajo del método Main en su programa

  4. Reemplace el método Main en su programa con esto:

        static void Main()
     {
         //ServiceClient implements IOrganizationService interface
         IOrganizationService service = new ServiceClient(connectionString);
    
         WhoAmIExample(service: service);
    
         // Pause the console so it does not close.
         Console.WriteLine("Press the <Enter> key to exit.");
         Console.ReadLine();
     }
    
  5. Ejecute la muestra nuevamente y debería ver algo como:

    OrganizationId:883278f5-07af-45eb-a0bc-3fea67caa544
    BusinessUnitId:38e0dbe4-131b-e111-ba7e-78e7d1620f5e
    UserId:4026be43-6b69-e111-8f65-78e7d1620f5e
    Press the <Enter> key to exit.
    

Pasos siguientes

Ahora que tiene un programa de consola simple que se conecta a Dataverse, use este proyecto para probar otros métodos y mensajes. Puede utilizar este proyecto de aplicación de consola de inicio rápido para realizar pruebas ad-hoc.

Intentar utilizar los métodos de la interfaz IOrganizationService

Sugerencia

En nuestra documentación puede encontrar muchos métodos de ejemplo como este WhoAmIExample que aceptan un parámetro IOrganizationService service .

Pruebe los ejemplos de estos métodos métodos IOrganizationService:

Probar otros mensajes

Puede encontrar otros mensajes que puede invocar usando el método Execute en estos espacios de nombres:

Aprender a trabajar con datos de registro

Los siguientes artículos explican cómo trabajar con datos profesionales en tablas de Dataverse:

Explorar nuestros ejemplos de código

Puede encontrar el código de muestra del SDK para .NET en nuestro repositorio de GitHub en PowerApps-Samples/dataverse/orgsvc.

Utilizar extensiones de ServiceClient

Además de implementar la interfaz IOrganizationService, ServiceClient ofrece métodos de extensión más allá de los métodos principales definidos por IOrganizationService y la capacidad de habilitar el registro con ILogger. Más información sobre el uso de ServiceClient

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