次の方法で共有


PollyHttpClientBuilderExtensions.AddTransientHttpErrorPolicy メソッド

定義

指定した構成デリゲートを実行して作成された Policy を含む要求の実行を囲む PolicyHttpMessageHandler を追加します。 ポリシー ビルダーは、一時的な障害を示す条件で失敗した要求に対して、ポリシーの適用をトリガーするように事前構成されます。

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ AddTransientHttpErrorPolicy(Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ builder, Func<Polly::PolicyBuilder<System::Net::Http::HttpResponseMessage ^> ^, Polly::IAsyncPolicy<System::Net::Http::HttpResponseMessage ^> ^> ^ configurePolicy);
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddTransientHttpErrorPolicy (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, Func<Polly.PolicyBuilder<System.Net.Http.HttpResponseMessage>,Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> configurePolicy);
static member AddTransientHttpErrorPolicy : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * Func<Polly.PolicyBuilder<System.Net.Http.HttpResponseMessage>, Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function AddTransientHttpErrorPolicy (builder As IHttpClientBuilder, configurePolicy As Func(Of PolicyBuilder(Of HttpResponseMessage), IAsyncPolicy(Of HttpResponseMessage))) As IHttpClientBuilder

パラメーター

configurePolicy
Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>

IAsyncPolicy`1 の作成に使用されるデリゲート。

戻り値

クライアントを構成するために使用できる IHttpClientBuilder

注釈

ポリシーの構成に関するガイダンスについては、の PolicyHttpMessageHandler 解説を参照してください。

PolicyBuilder`1configurePolicy指定された は、次のカテゴリのエラーを処理するために事前構成されたエラーです。

  • ネットワーク障害 (as HttpRequestException)
  • HTTP 5XX 状態コード (サーバー エラー)
  • HTTP 408 状態コード (要求タイムアウト)

によって configurePolicy 作成されたポリシーは、名前付きクライアントごとに無期限にキャッシュされます。 ポリシーは通常、シングルトンとして機能するように設計されており、必要に応じて共有できます。 複数の名前付きクライアント間でポリシーを共有するには、まずポリシーを作成し、必要に応じて 複数の呼び出しに AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) 渡します。

適用対象