サンプル: CrmServiceClient を使用してグローバル探索サービスにアクセスする
このサンプル コードは、CrmServiceClient.DiscoverGlobalOrganizations Method による探索サービスの使用方法について説明します。
注意
このサンプルは .NET の完全なフレームワークに限定されます。 Dataverse.Client.ServiceClient.DiscoverOnlineOrganizationsAsync Method を使用した .NET Core と互換性のある新しいサンプルがあります。 サンプル: グローバル探索サービス (C#) を参照してください。
このサンプルを実行する方法
このサンプルでは接続情報の入力を求めるダイアログが開きません。
App.config 接続文字列内で値を設定すると、それらを使用します。 それ以外の場合は、username
および password
変数を SampleProgram.Main
メソッドで設定します。
このサンプルの概要
このサンプルでは、SDKアセンブリ CrmServiceClient
を使用して、ユーザーの資格情報でグローバル検出サービスにクエリを実行し、接続できる環境を決定します。
1 つ以上の環境が返された場合、サンプルはユーザーに 1 つを選択させ、WhoAmIRequest
を使用してその環境に対する SystemUser.UserId
を返します。
このサンプルがどのように動作するか
このサンプルの概要 で説明されているシナリオをシミュレートするために、サンプルは次のことを行います。
セットアップ
このサンプルでは、ユーザー資格情報のユーザー名およびパスワードを使用する以外に、特別な設定は必要ありません。
環境が存在する地域データ センターを知っている場合、 SampleProgram.cs ファイルの 40 行目でこの値を設定すると、サンプルがより速く実行されます。
SampleMethods.cs には、既知のグローバルディスカバリーセンターについて各 Clouds
リストがあります。 各列挙メンバーは Description
表記で装飾されます。 Unknown
を除くすべてのメンバーに、グローバル検出サービスが記述と設定された URL があります。
実際の動作
ユーザーの資格情報および
cloud
値を使用して、プログラムはGetAllOrganizations
静的メソッドを使用してユーザーに対するすべての既知の環境を取得します。GetAllOrganizations
メソッドは、cloud
値がCloud.Unknown
に設定されているかどうかを検出します。 このメンバーに設定されている場合、このメソッドは商用Cloud
列挙型を選択し、GetOrganizationsForCloud
静的メソッドを使用して見つかった環境を列挙して取得します。特定のデータ センターが設定されている場合、
GetAllOrganizations
は単にそれらの値でGetOrganizationsForCloud
を呼び出します。GetOrganizationsForCloud
メソッドは、メンバーDescription
装飾からクラウドの検出サービス URL を抽出し、それをユーザーの資格情報と一緒に使用して、DiscoverGlobalOrganizations
CrmServiceClient ヘルパー メッセージを実行します。ユーザーに特定のデータ センターでの環境がない場合は、
System.ServiceModel.Security.SecurityAccessDeniedException
が必要です。任意の環境が
GetAllOrganizations
メソッドで返されると、コンソールに表示され、番号を入力して 1 つを選択するように求められます。 選択が有効な場合、選択された環境データはWhoAmIRequest
を実行するために使用され、その環境でのユーザーに対するSystemUser.UserId
を返します。
クリーンアップ
このサンプルでは、レコードは作成されません。 クリーンアップの必要はありません。
関連項目
ユーザー組織の検出
サンプル: グローバル探索サービス (C#)
サンプル: グローバル検索を利用した Blazor WebAssembly
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。