外部 Web サービスにアクセスする

プラグインとカスタム ワークフロー活動は、HTTP および HTTPS プロトコルを介してネットワークにアクセスできます。 この機能によって、ソーシャル サイト、ニュース フィード、Web サービスなどの一般的な Web サービスにアクセスできます。 このサンドボックスの機能には、次の Web アクセス制限が適用されます。

Web サービスにアクセスする他の方法としては、Webhook および Azure Service Bus の使用などがあります。 これらのトピックの詳細については以下で提供されるリンクを参照してください。

外部 Web サービスにアクセスする方法

最近、多くの人が System.Net.Http.HttpClient Class に精通しています。 HttpClient は .NET 4.5 で導入され、現在も利用可能な System.Net.WebClient Class を超える重要な機能を提供します。

.NET チームは WebClient を新規開発に推奨していない ため、新しいプラグインには HttpClient を使用する必要があります。 ただし、WebClient を使用した古いコードを見つけたら置き換える必要があるという意味ではありません。 HttpClient が提供するほとんどの利点は、プラグインで必ずしも利点を提供するわけではありません。 HttpClient は再利用されることを意図しており、既定では非同期です。 プラグイン内で複数の HTTP リクエストを行っている場合を除き、WebClient は単一のリクエスト用に設計されています。 HttpClient は既定で非同期のため、通常の使用パターンから外れてコードを追加し、強制的に操作を同期的に実行する必要があります。通常は await キーワードを削除し、非同期呼び出しに .GetAwaiter().GetResult() を付加します。

WebClientUploadDataDownloadFile などのシンプルな同期メソッドを提供しています。これらのメソッドでは、使用されている基本的な HTTP メソッドが明確に示されていませんが、POST の代わりに PATCH を使用する場合には UploadString(String, String, String) などの特定のオーバーライドを使用して設定することができます。

ほとんどの場合、プラグイン以外では HttpClient を使用できます。 プラグイン内でも、必要に応じて WebClient を使用できます。

ベスト プラクティス

以下のベスト プラクティスのトピックで説明します:

外部呼び出しに適切な Timeout 期間を設定して KeepAlive を無効にする必要があります。 詳細については、上記のリンクを参照してください。

関連項目

プラグイン
ワークフローの拡張機能
Azure 統合
Webhooks の使用
サンプル: 隔離されたプラグインからの Web アクセス

注意

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

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