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
Crear un nuevo proyecto de aplicación de consola .NET. Para este proyecto utilizamos Visual Studio 2022 y apuntamos a .NET 6.
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.
Busque la versión del paquete
Microsoft.PowerPlatform.Dataverse.Client
NuGet más reciente e instálela.
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
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(); } }
Cambie los valores de
url
,userName
ypassword
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:
Vaya al artículo de referencia de la clase WhoAmIRequest.
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.Pegue este método
WhoAmIExample
debajo del métodoMain
en su programaReemplace 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(); }
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:
- Operaciones de clase de la entidad con SDK para .NET
- Crear filas de tabla con SDK para .NET
- Recuperar una fila de tabla usando SDK para .NET
- Actualizar y eliminar filas de tablas usando SDK para .NET
- Asociar y anular la asociación de filas de tabla mediante la SDK para .NET
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).