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
Unter Verwendung der Benutzer-Anmeldeinformationen und des
cloud
-Wertes verwendet das Programm die statischeGetAllOrganizations
-Methode, um alle bekannten Umgebungen für den Benutzer abzurufen.Das
GetAllOrganizations
-Verfahren erkennt, ob dercloud
-Wert aufCloud.Unknown
gesetzt ist. Wenn sie für dieses Mitglied festgelegt ist, wählt diese Methode die kommerzielleCloud
-Enumeration aus, und ruft alle Umgebungen ab, die mithilfe der statischenGetOrganizationsForCloud
-Methode gefunden werden.Wenn ein bestimmtes Rechenzentrum festgelegt ist, ruft
GetAllOrganizations
einfachGetOrganizationsForCloud
mit diesen Werten an.Die
GetOrganizationsForCloud
-Methode extrahiert die Suchdienst-URL der Cloud aus derDescription
-Dekoration des Mitglieds, und verwendet sie zusammen mit den Anmeldeinformationen des Benutzers, um dieDiscoverGlobalOrganizations
-CrmServiceClient-Hilfsnachricht auszuführen.Ein
System.ServiceModel.Security.SecurityAccessDeniedException
wird erwartet, wenn der Benutzer keine Umgebungen in einem bestimmten Rechenzentrum hat.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 einenWhoAmIRequest
auszuführen und denSystemUser.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).