Utilizzare gli strumenti XRM per il controllo di accesso comune nelle applicazioni client

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 SDK offre un modello per Microsoft Visual Studio che consente di utilizzare il controllo di accesso comune nelle applicazioni client. Il codice per l'autenticazione di Dynamics 365, l'archiviazione e il recupero delle credenziali così come la registrazione diagnostica vengono generati nel modello rendendo possibile utilizzare velocemente queste funzionalità nelle applicazioni client di Windows per Dynamics 365. Il controllo di accesso comune è un'implementazione Microsoft.Xrm.Tooling.CrmConnectControl ed è simile a come mostrato nella seguente immagine.

Controllo accesso comune XRM Tooling

In questo argomento

Prerequisiti

Creare un'applicazione di WPF mediante il modello di controllo di accesso comune

Aggiungere un modello di controllo di accesso comune all'applicazione di WPF esistente

Prerequisiti

  • .NET Framework 4.5.2

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

  • NuGet Package Manager per Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015

  • Connessione a internet in modo che tu possa scaricare o ripristinare i pacchetti Nuget richiesti mentre utilizzi il modello del progetto.

  • Modelli di Microsoft Dynamics 365 SDK per Visual Studio che contengono il modello di controllo di accesso comune. È possibile ottenere il modello, in uno dei modi seguenti:

    • Scarica il modello CRM SDK dalla raccolta di Visual Studio e fai doppio clic sul file CRMSDKTemplates.vsix per installare il modello in Visual Studio.

    • Scaricando ed estraendo il pacchetto Dynamics 365 SDK. Il file dei modelli CRMSDKTemplates.vsix è disponibile nella cartella SDK\Templates. Fare doppio clic sul file CRMSDKTemplates.vsix per installare il modello in Visual Studio.

Creare un'applicazione di WPF mediante il modello di controllo di accesso comune

Di seguito è riportata una procedura che consente di creare velocemente un'applicazione di Windows Presentation Foundation (WPF) che usa il controllo di accesso comune e il codice sottostante per l'autenticazione, l'archiviazione e il riutilizzo delle credenziali oltre che per l'analisi o la registrazione predefinite.

  1. Avviare Microsoft Visual Studio e creare un nuovo progetto.

  2. Nella finestra di dialogo Nuovo progetto:

    1. Nell'elenco dei modelli installati espandi Visual C# e seleziona Modelli Dynamics 365 SDK.

    2. Verificare che .NET Framework 4.5.2 sia selezionato.

    3. Seleziona Applicazione di WPF per Dynamics 365.

    4. Specificare il nome e la posizione del progetto e fare clic su OK.

    Applicazione WPF per modelli CRM

  3. Per testare il progetto:

    1. Salvare il progetto e premere F5 oppure fare clic su Debug > Avvia debug per verificare che il progetto venga compilato correttamente. Quando la compilazione è completata correttamente, verrà visualizzato un MainWindow con il pulsante Esegui l'accesso a Dynamics 365. Fare clic sul pulsante per visualizzare il controllo di accesso comune.

    2. Testare l'autenticazione immettendo le credenziali per la connessione a Dynamics 365, quindi fare clic su Accedi. Viene visualizzato un messaggio con lo stato di connessione di Dynamics 365.

Per un esempio che utilizza il modello di controllo di accesso comune per la connessione a Dynamics 365 e per eseguire diverse operazioni, vedere Esempio: guida introduttiva per API degli strumenti XRM.

Aggiungere un modello di controllo di accesso comune all'applicazione di WPF esistente

Se già si dispone di un'applicazione client di WPF, è possibile aggiungere facilmente il modello di controllo di accesso comune per trarre vantaggio dall'esperienza di accesso uniforme e dal codice sottostante per l'autenticazione di Dynamics 365, oltre che dall'archiviazione e il riutilizzo delle credenziali e dalle funzioni di analisi o registrazione predefinite. In questo caso, è necessario creare un controllo nell'interfaccia utente dell'applicazione client esistente per chiamare il controllo di accesso comune, creare un'un'istanza dell'oggetto di connessione Dynamics 365 e quindi utilizzare l'oggetto di connessione per eseguire diverse operazioni in Dynamics 365.

  1. Aprire un progetto di applicazione di WPF esistente in Visual Studio. Per questo esempio, si supponga che il nome del progetto di applicazioni di WPF sia SampleWPFApp.

  2. Aggiungere un modello di controllo di accesso comune al progetto.

    1. Nel riquadro Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto, quindi fare clic su Aggiungi > Nuovo elemento.

    2. Nella finestra di dialogo Aggiungi nuovo elemento, dall'elenco dei modelli installati espandi Visual C# e seleziona Modelli Dynamics 365 SDK. Fai clic su Modulo di accesso Dynamics 365 per le applicazioni di WPF, quindi fai clic su OK.

      Aggiungere il modello di controllo di accesso comune

  3. Il controllo degli accessi CrmLoginForm1.xaml aggiunto viene visualizzato nell'area di progettazione XAML. In caso contrario, fai doppio clic sul file CrmLoginForm1.xaml nel riquadro Esplora soluzioni.

    Verificare la corretta esecuzione del rendering del controllo di accesso

  4. Ora è necessario chiamare il controllo di accesso appena aggiunto dall'applicazione. A tale scopo, aggiungi un controllo Pulsante nel file MainWindow.xaml, quindi imposta il nome e il contenuto in btnSignIn e in Esegui l'accesso a Dynamics 365 rispettivamente.

    Aggiungere un controllo per chiamare il modulo di accesso

  5. Fare doppio clic sul pulsante per aggiungere il codice per l'evento Click del pulsante btnSignIn nel file MainWindow.xaml.cs.

  6. Aggiungere il seguente esempio di codice nell'evento Click del pulsante btnSignIn per chiamare il controllo CrmLoginForm1 e creare un'istanza dell'oggetto di connessione 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. Aggiungere la definizione dell'evento ctrl_ConnectionToCrmCompleted sotto l'evento Click del pulsante:

    private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
    {
        if (sender is CRMLoginForm1)
        {
            this.Dispatcher.Invoke(() =>
            {
                ((CRMLoginForm1)sender).Close();
            });
        }
    }
    
  8. Questo è come il file MainWindow.xaml.cs viene visualizzato dopo l'aggiunta del codice eseguita nei due passaggi precedenti:

    Codice di esempio

  9. Per testare il progetto:

    1. Salvare il progetto e premere F5 oppure fare clic su Debug > Avvia debug per verificare che il progetto venga compilato correttamente. Quando la compilazione è completata correttamente, verrà visualizzato un MainWindow con il nuovo pulsante Esegui l'accesso a Dynamics 365. Fare clic sul pulsante per visualizzare il controllo di accesso comune.

    2. Testare l'autenticazione immettendo le credenziali per la connessione a Dynamics 365, quindi fare clic su Accedi. Se viene visualizzato correttamente, viene visualizzato un messaggio indicante la versione e il nome dell'organizzazione a cui si è connessi. Fare clic su OK per chiudere il messaggio.

      Risultati test di progetto

    3. Se fai di nuovo clic su Esegui l'accesso a Dynamics 365, l'applicazione richiede di selezionare le credenziali salvate dell'ultima attività di accesso oppure sarà necessario immettere le credenziali nuovamente.

      Credenziali memorizzate

Vedere anche

Esempio: guida introduttiva per API degli strumenti XRM
Compilare applicazioni client di Windows tramite gli strumenti XRM

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright