サンプル: CrmServiceClient を使用したタスク並列ライブラリ

この C# .NET サンプルは、タスク並列ライブラリ (TPL) で CrmServiceClient クラスを使用する方法を示しています。

注意

このサンプルでは、CrmServiceClient クラスの代わりに ServiceClient を使うこともできます。

Task Parallel Library (TPL) は、アプリケーションに並列処理と並行処理を追加するプロセスを簡略化することで、開発者の生産性を高めることができます。 並列処理と同時実行性を追加すると、短期間に多数の Dataverse 操作を実行する必要があるアプリケーションの合計スループットを大幅に向上させることができます。

要件

  • Visual Studio 2019 またはそれ以降
  • Dataverse テスト環境と有効なユーザー ログオン資格情報

サンプルを実行する方法

  1. PowerApps サンプル リポジトリを複製して、ローカル コピーを作成します。
  2. dataverse\Xrm Tooling\TPLCrmServiceClient\TPLCrmServiceClient.sln ファイルを Visual Studio で開きます。
  3. F5 キーを押して、プログラムをコンパイルして実行します。

実際の動作

CrmServiceClient クラスには、Dataverse サービス保護制限によってスローされる一時的なエラーの処理が含まれているため、TPL と TPL の組み合わせ CrmServiceClient は、これらの制限のために拒否された要求を再試行することにより、サービス保護制限エラーに耐性を持ちながらスループットを最適化できるアプリケーションを作成するのに役立ちます。 CrmServiceClient.Clone() メソッド は、TPL が複数のスレッドでクライアントを使用できるようにします。

詳しくは:サービス保護APIの制限を参照してください。

注意

また、このサンプルコードでは、CrmServiceClient.Clone() の代わりに ServiceClient.Clone メソッドを使用しても同じ結果になります。

このサンプルでは、Parallel.ForEach メソッドを使用して多数の取引先企業テーブル行を生成し、その手法を再度使用して、作成されたテーブルを削除します。 既定では、このサンプルは 10 行のみを作成します。これはサービス保護 API 制限エラーにヒットするには不十分です。 numberOfRecords 変数値を 10000 に上げると、Fiddler を使用して、一部の要求が拒否され再試行される方法に注意できます。

参照

タスク並列ライブラリ (TPL)

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。