Compartir a través de


Usar el control de inicio de sesión común de los útiles de XRM en las aplicaciones cliente

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

SDK de Microsoft Dynamics 365 proporciona una plantilla para Microsoft Visual Studio lo que permite usar el control de inicio de sesión común en las aplicaciones cliente. El código para autenticación de Dynamics 365, almacenamiento de credenciales y recuperación, y registro de diagnóstico está integrado en la plantilla, de modo que se pueden aprovechar rápidamente estas funciones en las aplicaciones cliente de Windows para Dynamics 365. El control común de inicio de sesión es una implementación de Microsoft.Xrm.Tooling.CrmConnectControl y se asemeja a la siguiente imagen.

Control de inicio de sesión común de útiles de XRM

En este tema

Requisitos previos

Crear una aplicación WPF con la plantilla de control de inicio de sesión común

Agregar una plantilla de control de inicio de sesión común a la aplicación WPF existente

Requisitos previos

  • .NET Framework 4.5.2

  • Microsoft Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015

  • Administrador del paquete de Nuget para Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015

  • Conectado a Internet para poder descargar/restaurar los paquetes de Nuget necesarios mientras usa la plantilla del proyecto.

  • Plantillas de SDK de Microsoft Dynamics 365 para Visual Studio que contiene la plantilla de control de inicio de sesión común. Puede obtenerla de una de las siguientes formas:

    • Descargue la plantilla del CRM SDK de la galería de Visual Studio y haga doble clic en el archivo CRMSDKTemplates.vsix para instalar la plantilla en Visual Studio.

    • Descargue y extraiga el paquete SDK de Dynamics 365. El archivo de plantillas, CRMSDKTemplates.vsix, se encuentra en la carpeta SDK\Templates. Haga doble clic en el archivo de CRMSDKTemplates.vsix para instalar la plantilla en Visual Studio.

Crear una aplicación WPF con la plantilla de control de inicio de sesión común

Aquí se describe una forma rápida para crear una aplicación Windows Presentation Foundation (WPF) que aprovecha el control de inicio de sesión común y el código subyacente para la autenticación, el almacenamiento de credenciales y la reutilización, y el seguimiento predeterminado o registro.

  1. Inicie Microsoft Visual Studio y cree un nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto:

    1. En la lista de plantillas instaladas, expanda Visual c#, y seleccione Plantillas de SDK de Dynamics 365.

    2. Asegúrese de que .NET Framework 4.5.2 está seleccionado.

    3. Seleccione Aplicación WPF para Dynamics 365.

    4. Especifique el nombre y la ubicación del proyecto, y haga clic en Aceptar.

    Aplicación WPF para plantilla de CRM

  3. Para probar el proyecto:

    1. Guarde el proyecto y presione F5, o haga clic en Depurar > Iniciar depuración para comprobar si el proyecto se compila correctamente. Si la compilación es correcta, verá una MainWindow con el botón Iniciar sesión en Dynamics 365. Haga clic en el botón para mostrar el control de inicio de sesión común.

    2. Pruebe la autenticación mediante sus credenciales para conectarse a Dynamics 365 y, a continuación, haga clic en Iniciar sesión. Aparece un mensaje que muestra el estado de la conexión Dynamics 365.

Para obtener un ejemplo en el que se usa una plantilla de control de inicio de sesión común para conectarse a Dynamics 365 y se realizan distintas operaciones, consulte Ejemplo: inicio rápido para la API de útiles de XMR.

Agregar una plantilla de control de inicio de sesión común a la aplicación WPF existente

Si ya tiene una aplicación cliente de WPF, puede agregar fácilmente la plantilla de control de inicio de sesión común a la aplicación para aprovechar la experiencia de inicio de sesión uniforme y el código subyacente para autenticación de Dynamics 365, el almacenamiento de credenciales y la reutilización, y el seguimiento predeterminado o registro. En este caso, debe crear un control en la interfaz de usuario de la aplicación cliente existente para llamar al control de inicio de sesión común, crear una instancia del objeto de conexión de Dynamics 365 y después usar el objeto de conexión para realizar distintas operaciones en Dynamics 365.

  1. Abra un proyecto de aplicación WPF existente en Visual Studio. Para este ejemplo, supongamos que el nombre del proyecto de aplicación WPF es SampleWPFApp.

  2. Agregue una plantilla de control de inicio de sesión común al proyecto.

    1. En el panel Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto y después haga clic en Agregar > Nuevo elemento.

    2. En el cuadro de diálogo Agregar nuevo artículo, en la lista de plantillas instaladas, expanda Visual C# y seleccione Plantillas SDK de Dynamics 365. Haga clic en Formulario de inicio de sesión de Dynamics 365 para aplicaciones WPF y en Aceptar.

      Agregar la plantilla de control de inicio de sesión común

  3. El control de inicio de sesión CrmLoginForm1.xaml agregado recientemente se muestra en el área de diseñador de XAML. Si no se muestra, haga doble clic en el archivo CrmLoginForm1.xaml en el panel Explorador de soluciones.

    Compruebe que el control de inicio de sesión se representa correctamente

  4. Ahora debe llamar al control de inicio de sesión recién agregado desde la aplicación. Para ello, agregue un control Botón del archivo MainWindow.xaml y establezca el nombre y el contenido en btnSignIn y Iniciar sesión en Dynamics 365 respectivamente.

    Agregue un control para llamar al formulario de inicio de sesión

  5. Haga doble clic en el botón para agregar el código del evento de clic en el botón btnSignIn en el archivo MainWindow.xaml.cs.

  6. Agregue el siguiente código de ejemplo en el evento de clic del botón btnSignIn para llamar al control CrmLoginForm1 y cree una instancia del objeto de conexión de Dynamics 365.

    // Establish the Login control.
    CRMLoginForm1 ctrl = new CRMLoginForm1();
    
    // Wire event to login response. 
    ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;
    
    // Show the login control. 
    ctrl.ShowDialog();
    
    // Handle the returned CRM connection object.
    // On successful connection, display the CRM version and connected org name 
    if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
    {
        MessageBox.Show("Connected to CRM! Version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() + 
        " Org: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");
    
        // Perform your actions here
    }
    else
    {
        MessageBox.Show("Cannot connect; try again!", "Connection Status");
    }
    
  7. Agregue la definición del evento ctrl_ConnectionToCrmCompleted debajo del evento de clic del botón:

    private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
    {
        if (sender is CRMLoginForm1)
        {
            this.Dispatcher.Invoke(() =>
            {
                ((CRMLoginForm1)sender).Close();
            });
        }
    }
    
  8. Así aparece el archivo MainWindow.xaml.cs después de agregar el código de los dos pasos anteriores:

    Código de ejemplo

  9. Para probar el proyecto:

    1. Guarde el proyecto y presione F5, o haga clic en Depurar > Iniciar depuración para comprobar si el proyecto se compila correctamente. Si la compilación es correcta, verá una MainWindow con el botón nuevo Conectarse a Dynamics 365. Haga clic en el botón para mostrar el control de inicio de sesión común.

    2. Pruebe la autenticación mediante sus credenciales para conectarse a Dynamics 365 y, a continuación, haga clic en Iniciar sesión. Si se realiza correctamente, aparecerá un mensaje que indica la versión y el nombre de la organización a la que está conectado. Haga clic en Aceptar para cerrar el mensaje.

      Resultados de las pruebas del proyecto

    3. Si vuelve a hace clic en Conectarse a Dynamics 365, la aplicación le preguntará si desea elegir las credenciales guardadas en la última actividad de inicio de sesión o volver a especificar las nuevas credenciales.

      Credenciales almacenadas

Ver también

Ejemplo: inicio rápido para la API de útiles de XMR
Crear aplicaciones cliente de Windows mediante las herramientas XRM

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright