Usar el control de inicio de sesión común de los útiles de XRM en las aplicaciones cliente
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
Microsoft Dynamics CRM SDK 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.
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 o Visual Studio 2013
Administrador del paquete de Nuget para Visual Studio 2012 o Visual Studio 2013
Plantillas de Microsoft Dynamics CRM SDK 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 SDK de Dynamics 365 de la galería de Visual Studio y haga doble clic en el archivo de 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.
Inicie Microsoft Visual Studio y cree un nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto:
En la lista de plantillas instaladas, expanda Visual c#, y seleccione Plantillas de SDK de CRM.
Asegúrese de que .NET Framework 4.5.2 está seleccionado.
Seleccione Aplicación WPF para CRM.
Especifique el nombre y la ubicación del proyecto, y haga clic en Aceptar.
Para probar el proyecto:
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 CRM. Haga clic en el botón para mostrar el control de inicio de sesión común.
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.
Nota
La plantilla Aplicación WPF para CRM usa el archivo Microsoft.Xrm.Tooling.Ui.Styles.dll en lugar del archivo Microsoft.Xrm.Tooling.Ui.Resources.dll para proporcionar recursos de XAML al control común de inicio de sesión. El archivo Microsoft.Xrm.Tooling.Ui.Resources.dll ha quedado obsoleto en la versión actual, y el archivo Microsoft.Xrm.Tooling.Ui.Styles.dll proporciona las mismas funcionalidades que Microsoft.Xrm.Tooling.Ui.Resources.dll.
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.
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.
Agregue una plantilla de control de inicio de sesión común al proyecto.
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.
En el cuadro de diálogo Agregar nuevo artículo, en la lista de plantillas instaladas, expanda Visual C# y seleccione Plantillas SDK de CRM. Haga clic en Formulario de inicio de sesión de CRM para aplicaciones WPF y en Aceptar.
El control de inicio de sesión CrmLoginForm1.xaml agregado recientemente se muestra en el área de diseñador de XAML. Si no es así, haga doble clic en el archivo CrmLoginForm1.xaml en el panel Explorador de soluciones.
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 CRM respectivamente.
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.
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"); }
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(); }); } }
Así aparece el archivo MainWindow.xaml.cs después de agregar el código de los dos pasos anteriores:
Para probar el proyecto:
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 CRM. Haga clic en el botón para mostrar el control de inicio de sesión común.
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.
Si vuelve a hace clic en Conectarse a CRM, 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.
Ver también
Ejemplo: inicio rápido para la API de útiles de XMR
Crear aplicaciones cliente de Windows mediante las herramientas XRM
© 2017 Microsoft. Todos los derechos reservados. Copyright