Usar cadenas de conexión en útiles de XRM para conectarse a Microsoft Dataverse

Con Dataverse, los útiles de XRM le permiten conectarse a su entorno de Dataverse mediante las cadenas de conexión. Esto es similar al concepto de cadenas de conexión que se utilizan con SQL Server. Las cadenas de conexión tienen compatibilidad nativa en archivos de configuración, incluida la capacidad de cifrar las secciones de configuración para máxima seguridad. Esto permite configurar las conexiones de Dataverse en tiempo de implementación, y no codificar de forma rígida en su aplicación para conectarse al entorno de Dataverse.

Crear una cadena de conexión

Especifique la cadena de conexión en el archivo app.config o web.config del proyecto, como se muestra en el ejemplo siguiente.

<connectionStrings>  
    <add name="MyCDSServer" connectionString="AuthType=OAuth;Username=jsmith@contoso.onmicrosoft.com;Password=passcode;Url=https://contosotest.crm.dynamics.com;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;TokenCacheStorePath=c:\MyTokenCache;LoginPrompt=Auto"/>
</connectionStrings>  

Importante

Si agrega alguna información confidencial al web.config file o app.config, como la contraseña de una cuenta, asegúrese de tomar las precauciones de seguridad adecuadas para proteger la información.

Después de crear la cadena de conexión, úsela para crear un objeto CrmServiceClient.

//Use the connection string named "MyCDSServer"  
//from the configuration file  
CrmServiceClient svc = new CrmServiceClient(ConnectionString);  

Como alternativa, puede utilizar la clase ServiceClient.

ServiceClient svc = new ServiceClient(ConnectionString);  

Nota

Tendrá que usar la directiva using en siguiente el código para hacer referencia al espacio de nombres de System.Configuration para obtener acceso a la cadena de conexión en el código: using System.Configuration;

Después de crear un objeto de cliente de servicio, puede usar el objeto para realizar acciones en Dataverse. Más información: Usar útiles de XRM para ejecutar acciones en Dataverse

Parámetros de la cadena de conexión

La cadena de conexión contiene una serie de pares de name=value separados por punto y coma. La siguiente tabla muestra los parámetros admitidos, que se pueden escribir en cualquier orden.

Nombre de parámetro Descripción
ServiceUri, Service Uri, Url o Server Especifica la dirección URL al entorno de Dataverse. La URL puede utilizar el protocolo http o https, y el puerto es opcional. El puerto predeterminado es 80 para el protocolo http y 443 para el protocolo https. La dirección URL del servidor suele encontrarse en el formato https://<organization-name>.crm.dynamics.com

Se requiere el nombre de la organización.
UserName, User Name, UserId o User Id Especifica el nombre de identificación del usuario asociado con las credenciales.
Password Especifica la contraseña del nombre de usuario asociado con las credenciales.
HomeRealmUri o Home Realm Uri Especifica el Uri de dominio de inicio
AuthenticationType o AuthType Especifica el tipo de autenticación para conectarse al entorno de Dataverse. Los valores válidos son: AD, IFD (AD FS habilitado), OAuth, Certificate, ClientSecret u Office365. Sin embargo, solo OAuth, Certificate, ClientSecret y Office365 son valores permitidos para entornos Dataverse.

NOTA: El tipo de autenticación Office365 está en desuso y recomendamos usar OAuth como tipo de autenticación preferido. Más información: ¿Qué debo hacer para corregir el código de mi aplicación si se ve afectado?
RequireNewInstance Indica si se debe volver a usar una conexión existente si se vuelve a hacer la llamada mientras la conexión sigue activa. Si se establece en true, se obliga al sistema a crear una conexión única. Si se establece en false, la conexión existente se puede reutilizar.
ClientId, AppId o ApplicationId Especifica el ClientID asignado cuando se registró su aplicación en Microsoft Entra ID o Servicios de federación de Active Directory (AD FS).
ClientSecret o Secret Necesario cuando Tipo de autenticación se establece en ClientSecret. Cadena Secreto de cliente para usar para autenticación.
RedirectUri o ReplyUrl Especifica el URI de redirección de la aplicación que registró en Microsoft Entra ID o Servicios de federación de Active Directory (AD FS).

Este parámetro es aplicable solo cuando especifica el tipo de autenticación como OAuth.
TokenCacheStorePath Especifica la ruta de acceso completa a la ubicación donde la memoria caché del símbolo de usuario debe ser almacenada. El proceso en ejecución debe tener acceso a la ruta especificada. Es responsabilidad de los procesos establecer y configurar esta ruta.

Este parámetro es aplicable solo cuando especifica el tipo de autenticación como OAuth.
LoginPrompt Especifica si se le piden al usuario credenciales si las credenciales no se proporcionan. Los valores válidos son:

- Always: Pide siempre al usuario que especifique credenciales.
- Auto: Permite que el usuario seleccione en la interfaz de control de inicio de sesión si se muestra un mensaje o no.
- Never: No pide al usuario que especifique credenciales. Si usa un método de conexión que no tiene interfaz de usuario, debe usar este valor.

Este parámetro es aplicable solo cuando especifica el tipo de autenticación como OAuth.
StoreName o CertificateStoreName Especifica el nombre del almacén donde el certificado identificado por huella digital se encuentra. Cuando está establecida, se requiere Huella digital.
Thumbprint o CertThumbprint Especifica la huella digital del certificado que se usará durante una conexión S2S. Cuando se establece, se requiere AppID y se omiten los valores UserID y Password.
Integrated Security Especifica utilizar las credenciales actuales de Windows para intentar crear un token para las instancias. A partir de la versión de NuGet Microsoft.CrmSdk.XrmTooling.CoreAssembly Versión 9.1.0.21

Nota

Cuando se usa el OAuth AuthType\AuthenticationType
Para fines de desarrollo y creación de prototipos hemos proporcionado el siguiente AppId o ClientId y URI de redireccionamiento para uso en flujos de OAuth.
Para uso de producción, debe crear un AppId o ClientId que sea específica del inquilino en el portal de Azure Management.
AppId o ClientId de ejemplo = 51f81489-12ee-4a9e-aaae-a2591f45987d
RedirectUri de ejemplo = app://58145B91-0C36-4500-8554-080854F2AC97

Ejemplos de cadena de conexión

Los ejemplos siguientes muestran cómo usar cadenas de conexión para conectar con implementaciones y escenarios de autenticación. Los ejemplos de la cadena de conexión para instancias locales y de implementación IFD están ahora disponibles en la documentación de Dynamics 365 Customer Engagement (on-premises) en: Usar cadenas de conexión en útiles de XRM para conectarse a Customer Engagement

Cuenta nombrada usando Office365

Cree una nueva conexión a Dataverse utilizando un nombre de usuario o contraseña a través de Office365.

Nota

Este AuthType está en desuso y recomendamos usar OAuth como el tipo de autenticación preferido. Más información: Autentique mediante Office365

<add name="MyCDSServer" 
 connectionString="
  AuthType=Office365;
  Username=jsmith@contoso.onmicrosoft.com; 
  Password=passcode;
  Url=https://contoso.crm.dynamics.com"/>  

OAuth utilizando cuenta con nombre en Microsoft 365 con UX para solicitar autenticación

Crear una nueva conexión con Dataverse usando un UserID o contraseña mediante OAuth.

Nota

OAuth es el tipo de autenticación preferido para conectarse a Dataverse cuando se usa un flujo interactivo. Este tipo de autorización admite completamente las características de Microsoft Entra ID Acceso condicional y Autenticación multifactorial.

<add name="MyCDSServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith@contoso.onmicrosoft.com;
  Password=passcode;
  Url=https://contosotest.crm.dynamics.com;
  AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;
  RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;
  TokenCacheStorePath=c:\MyTokenCache;
  LoginPrompt=Auto"/>  

OAuth utilizando el usuario de que ha iniciado la sesión actual con recurso al mensaje para autenticación

Cree una nueva conexión a Dataverse utilizando el usuario actualmente registrado a través de OAuth.

Nota

OAuth es el tipo de autenticación preferido para conectarse a Dataverse cuando se usa un flujo interactivo. Este tipo de autorización admite completamente las características de Microsoft Entra ID Acceso condicional y Autenticación multifactorial.

<add name="MyCDSServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith@contoso.onmicrosoft.com;
  Integrated Security=true;
  Url=https://contosotest.crm.dynamics.com;
  AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;
  RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;
  TokenCacheStorePath=c:\MyTokenCache\msal_cache.data;
  LoginPrompt=Auto"/>  

Autenticación basada en certificados

Cree una nueva conexión a Dataverse utilizando una aplicación o identificación de cliente y un certificado.

<add name="MyCDSServer" 
  connectionString="
  AuthType=Certificate;
  url=https://contosotest.crm.dynamics.com;
  thumbprint={CertThumbPrintId};
  ClientId={AppId};"
  />

Autenticación basada en ClientId o secreto de cliente

Cree una nueva conexión a Dataverse utilizando una aplicación o identificación de cliente y un secreto de cliente.

<add name="MyCDSServer" 
  connectionString="
  AuthType=ClientSecret;
  url=https://contosotest.crm.dynamics.com;
  ClientId={AppId};
  ClientSecret={ClientSecret}"
  />

Determinación del estado de la conexión

Para determinar si la solicitud de conexión se realizó correctamente, compruebe el valor de la propiedad CrmServiceClient.IsReady . Si es true, la conexión se realizó correctamente y está listo para trabajar. De lo contrario, compruebe los valores de las propiedades CrmServiceClient.LastCrmError y CrmServiceClient.LastCrmException. para la causa del error de conexión.

Vea también

Crear aplicaciones cliente de Windows mediante las herramientas XRM
Usar constructores CrmServiceClient para conectarse a Dataverse
Usar herramientas XRM para ejecutar acciones en Dataverse
CrmServiceClient

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