Freigeben über


Beispiel: CrmServiceClient zum Zugreifen auf den globalen Suchdienst verwenden

Dieser Beispielcode zeigt, wie Sie den Suchdienst mit der CrmServiceClient.DiscoverGlobalOrganizations Method verwenden.

Hinweis

Dieses Beispiel ist auf .NET Full Framework beschränkt. Es gibt ein neueres Beispiel, das mit .NET Core kompatibel ist und das die Dataverse.Client.ServiceClient.DiscoverOnlineOrganizationsAsync Method verwendet. Siehe Beispiel: Globaler Suchdienst (C#).

Wie man dieses Beispiel ausführt

Dieses Beispiel öffnet keinen Dialog, um Sie nach Verbindungsinformationen zu fragen.

Wenn Sie Werte in den App.config-Verbindungszeichenfolgen festgelegt haben, werden diese verwendet. Andernfalls müssen Sie username und password Variablen in der SampleProgram.Main-Methode festlegen.

Funktionsweise:

Dieses Beispiel verwendet die SDK-Assembly CrmServiceClient, um den globalen Suchdienst mit den Anmeldeinformationen eines Benutzers abzufragen, um zu bestimmen, mit welchen Umgebungen er eine Verbindung herstellen kann.

Wenn eine oder mehrere Umgebungen zurückgegeben werden, fordert das Beispiel den Benutzer auf, eine auszuwählen und verwendet dann ein WhoAmIRequest, um das SystemUser.UserId für diese Umgebung zurückzugeben.

Wie dieses Beispiel funktioniert

Um das unter Was macht dieses Beispiel, beschriebene Szenario zu simulieren, geht das Beispiel wie folgt vor:

Einrichten

Dieses Beispiel erfordert keine spezielle Konfiguration, außer dass es einen gültigen Benutzernamen und ein gültiges Passwort für die Benutzeranmeldung gibt.

Wenn Sie das regionale Rechenzentrum kennen, in dem sich Ihre Umgebungen befinden, wird das Beispiel schneller laufen, wenn Sie diesen Wert in Zeile 40 der Datei SampleProgram.cs festlegen.

In SampleMethods.cs gibt es eine Clouds-Enumeration für jedes der bekannten globalen Suchzentren. Jedes Enumerationsmitglied ist mit einer Description-Notation versehen. Bei allen diesen Mitgliedern außer Unknown ist die URL für den globalen Suchdienst als Beschreibung festgelegt.

Demonstrieren

  1. Unter Verwendung der Benutzer-Anmeldeinformationen und des cloud-Wertes verwendet das Programm die statische GetAllOrganizations-Methode, um alle bekannten Umgebungen für den Benutzer abzurufen.

  2. Das GetAllOrganizations-Verfahren erkennt, ob der cloud-Wert auf Cloud.Unknown gesetzt ist. Wenn sie für dieses Mitglied festgelegt ist, wählt diese Methode die kommerzielle Cloud-Enumeration aus, und ruft alle Umgebungen ab, die mithilfe der statischen GetOrganizationsForCloud-Methode gefunden werden.

    Wenn ein bestimmtes Rechenzentrum festgelegt ist, ruft GetAllOrganizations einfach GetOrganizationsForCloud mit diesen Werten an.

  3. Die GetOrganizationsForCloud-Methode extrahiert die Suchdienst-URL der Cloud aus der Description-Dekoration des Mitglieds, und verwendet sie zusammen mit den Anmeldeinformationen des Benutzers, um die DiscoverGlobalOrganizations-CrmServiceClient-Hilfsnachricht auszuführen.

    Ein System.ServiceModel.Security.SecurityAccessDeniedException wird erwartet, wenn der Benutzer keine Umgebungen in einem bestimmten Rechenzentrum hat.

  4. Wenn Umgebungen nach der GetAllOrganizations-Methode zurückgegeben werden, werden sie in der Konsole aufgelistet und Sie werden aufgefordert, eine durch Eingabe einer Zahl auszuwählen. Wenn Ihre Auswahl gültig ist, werden die ausgewählten Umgebungsdaten verwendet, um einen WhoAmIRequest auszuführen und den SystemUser.UserId für den Benutzer in dieser Umgebung zurückzugeben.

Bereinigung

Dieses Beispiel erstellt keine Datensätze. Keine Bereinigung ist erforderlich.

Siehe auch

Benutzerorganisationen ermitteln
Beispiel: Globaler Suchdienst (C#)
Beispiel: Blazor WebAssembly mit globaler Ermittlung

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