Verwenden des allgemeinen Anmeldungssteuerelements der XRM-Tools in Ihren Client-Anwendungen

Die Logik für die Microsoft Dataverse-Authentifizierung, das Speichern und Abrufen von Anmeldeinformationen und das Diagnoseprotokoll sind in das allgemeine login-Steuerelement integriert, so dass Sie diese Funktionen in Ihren Windows-Client-Anwendungen (WPF) für Dataverse schnell nutzen können. Das allgemeine login-Steuerelement ist eine Implementierung von Microsoft.Xrm.Tooling.CrmConnectControl. Unten finden Sie ein Bild des Steuerelements.

Allgemeines login-Steuerelement des XRM-Tools

Anforderungen

  • .NET Framework Version 4.8 oder höher
  • Visual Studio 2019 oder höher
  • Internetzugang, damit Sie die erforderlichen NuGet-Pakete herunterladen können
  • Netzwerkzugriff auf eine Dataverse-Testumgebung und gültige Anmeldedaten

Eine WPF-Anwendung erstellen, die das allgemeine login-Steuerelement verwendet

Wir gehen jetzt den Prozess durch, um eine Windows Presentation Foundation (WPF)-Anwendung zu erstellen, die das allgemeine login-Steuerelement verwendet, sowie den zugrundeliegenden Code für die Authentifizierung, das Speichern und Wiederverwenden von Anmeldeinformationen und die standardmäßige Ablaufverfolgung oder das Protokollieren.

Die fertige Anwendung finden Sie hier: AppWithLoginControl.

Ein Projekt mit dem login-Steuerelement erstellen

Erstellen Sie als erstes eine neue Visual Studio-Lösung und das WPF-Projekt, und fügen Sie dann den XAML-Code für das login-Steuerelement hinzu.

  1. Starten Sie Visual Studio und erstellen Sie ein neues Projekt mit der WPF-App (.NET Framework)-Vorlage für eine Windows C#-Desktop-App.

    Neues Projekt aus Vorlage auswählen

  2. Konfigurieren Sie das Projekt und legen Sie es auf das .NET 4.8 Framework fest.

    Projektkonfiguration

  3. Wählen Sie Projekt > NuGet Pakete verwalten aus. Browsen oder suchen Sie nach den folgenden Paketen und installieren Sie sie (in der unten gezeigten Reihenfolge) im Projekt.

    • Microsoft.CrmSdk.XrmTooling.CoreAssembly
    • Microsoft.CrmSdk.XrmTooling.WpfControls

    NuGet Paket installieren

  4. Gehen Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen und wählen Sie dann Hinzufügen > Neuer Ordner aus.

  5. Benennen Sie den Ordner „LoginUX“ und kopieren Sie dann die XAML-Code für das login-Steuerelement in diesen Ordner. Sie können die Datei „ExampleLoginForm.xaml“ einfach per Drag & Drop aus dem Datei-Explorer in den Visual Studio-Projektordner hinzufügen und die zugehörige C#-Datei wird automatisch im Projekt angezeigt.

    LoginUX-Ordner

  6. Testen Sie das Erstellen der Lösung (F6). Es sollte ohne Fehler oder Warnungen erstellt werden.

Verbinden Sie das login-Steuerelement mit der App

Jetzt verbinden wir das login-Steuerelement mit der Anwendung.

  1. Machen Sie im Projektmappen-Explorer einen Doppelklick auf die Datei ExampleLoginForm.xaml. Sie sollten im Designer ein Bild des Steuerelements sehen.

    Login-Steuerelement im UI-Designer

  2. Wechseln Sie zur MainWindow.xaml-Designer-Registerkarte. Fügen Sie ein Schaltfläche-Steuerelement hinzu, und legen Sie die Werte der Eigenschaften „Name“ und „Gemeinsamer Inhalt“ auf btnSignIn bzw. Bei Dataverse anmelden fest.

    Schaltfläche hinzufügen

  3. Doppelklicken Sie auf die Schaltfläche, um Code für das Click-Ereignis der Schaltfläche hinzuzufügen. Ein Codebearbeitungsfenster für die MainWindow-Klassendatei wird angezeigt.

  4. Ersetzen Sie die leere Button_Click-Ereignishandlermethode mit diesem Code (unten), um das login-Steuerelement aufzurufen, und erstellen Sie eine Instanz des Dataverse-Verbindungsobjekts.

private void Button_Click(object sender, RoutedEventArgs e)
{
    // Instantiate the login control.  
    ExampleLoginForm ctrl = new ExampleLoginForm();

    // Wire the button click event to the login response.   
    ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;

    // Show the login control.   
    ctrl.ShowDialog();

    // Check that a web service connection is returned and the service is ready.     
    if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
    {
        // Display the Dataverse version and connected environment name  
        MessageBox.Show("Connected to Dataverse version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() +
            " Organization: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");
        // TODO Additional web service operations can be performed here
    }
    else
    {
        MessageBox.Show("Cannot connect; try again!", "Connection Status");
    }
}
  1. Fügen Sie die Definition der ctrl_ConnectionToCrmCompleted-Ereignishandlermethode in der MainWindow-Klasse unterhalb der Button_Click-Ereignishandlermethode und auf derselben Einzugsebene hinzu.
private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
{
    if (sender is ExampleLoginForm)
    {
        this.Dispatcher.Invoke(() =>
        {
            ((ExampleLoginForm)sender).Close();
        });
    }
}
  1. Fügen Sie am Anfang der C#-Datei eine Using-Anweisung hinzu, damit die ExampleLoginForm-Klasse aufgelöst wird.
using PowerApps.Samples.LoginUX;
  1. Erstellen Sie das Programm (F6). Es sollte ohne Fehler oder Warnungen erstellt werden.

Das Programm testen

Jetzt führen wir das Programm aus und testen die Funktionsweise.

  1. Führen Sie das Programm aus (F5).

  2. Wählen Sie einfach die Schaltfläche Bei Dataverse anmelden aus. Das login-Steuerelement wird angezeigt.

  3. Die folgende Abbildung zeigt die Auswahl der Office 365-Online-Umgebung und das anschließende Aktivieren von Liste der verfügbaren Organisationen anzeigen, um eine Liste der Umgebungen anzuzeigen, zu denen der Benutzer gehört.

    Office 365-Anmeldung

  4. Wählen Sie Anmeldung aus.

  5. Geben Sie bei Aufforderung Ihre Anmeldeinformationen ein. Das eingegebene Konto befindet sich im Formular someone@my-env.onmicrosoft.com.

  6. Eine Liste der Umgebungen wird im Steuerelement angezeigt. Wählen Sie eine aus und wählen Sie ein zweites Mal Anmelden aus.

  7. Ein Dialogfeld zum Verbindungsstatus wird angezeigt, das die Dataverse-Version und den Namen der Organisation enthält.

    Status der Verbindung

  8. Wählen Sie OK aus.

  9. Wenn Sie erneut auf Bei Dataverse anmelden klicken, fordert die Anwendung Sie entweder auf, die gespeicherten Anmeldeinformationen aus der letzten Anmeldeaktivität zu wählen oder die neuen Anmeldeinformationen erneut einzugeben.

  10. Wenn Sie mit dem Testen fertig sind, schließen Sie das Programmfenster.

Siehe auch

Erstellen von Windows-Client-Anwendungen mithilfe der XRM-Tools

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).