PollyHttpClientBuilderExtensions.AddPolicyHandler 方法

定义

重载

AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>)

添加 PolicyHttpMessageHandler,它将使用提供的 IAsyncPolicy`1 将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with the provided IAsyncPolicy`1.

AddPolicyHandler(IHttpClientBuilder, Func<IServiceProvider,HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

添加 PolicyHttpMessageHandler,它将使用 policySelector 返回的策略将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by the policySelector.

AddPolicyHandler(IHttpClientBuilder, Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

添加 PolicyHttpMessageHandler,它将使用 policySelector 返回的策略将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by the policySelector.

AddPolicyHandler(IHttpClientBuilder, Func<IServiceProvider,HttpRequestMessage,String,IAsyncPolicy<HttpResponseMessage>>, Func<HttpRequestMessage,String>)

添加 PolicyHttpMessageHandler,它将使用通过执行提供的密钥选择逻辑 keySelectorpolicyFactory 返回的策略将请求执行涵盖在内Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by executing provided key selection logic keySelector and policyFactory

AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>)

添加 PolicyHttpMessageHandler,它将使用提供的 IAsyncPolicy`1 将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with the provided IAsyncPolicy`1.

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

参数

返回

IHttpClientBuilder

可用于配置客户端的 IHttpClientBuilderAn IHttpClientBuilder that can be used to configure the client.

注解

PolicyHttpMessageHandler有关配置策略的指南,请参阅上的备注。See the remarks on PolicyHttpMessageHandler for guidance on configuring policies.

适用于

AddPolicyHandler(IHttpClientBuilder, Func<IServiceProvider,HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

添加 PolicyHttpMessageHandler,它将使用 policySelector 返回的策略将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by the policySelector.

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

参数

policySelector
Func<IServiceProvider,HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>

选择要应用到当前请求的 IAsyncPolicy`1Selects an IAsyncPolicy`1 to apply to the current request.

返回

IHttpClientBuilder

可用于配置客户端的 IHttpClientBuilderAn IHttpClientBuilder that can be used to configure the client.

注解

PolicyHttpMessageHandler有关配置策略的指南,请参阅上的备注。See the remarks on PolicyHttpMessageHandler for guidance on configuring policies.

适用于

AddPolicyHandler(IHttpClientBuilder, Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

添加 PolicyHttpMessageHandler,它将使用 policySelector 返回的策略将请求执行涵盖在内。Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by the policySelector.

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

参数

policySelector
Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>

选择要应用到当前请求的 IAsyncPolicy`1Selects an IAsyncPolicy`1 to apply to the current request.

返回

IHttpClientBuilder

可用于配置客户端的 IHttpClientBuilderAn IHttpClientBuilder that can be used to configure the client.

注解

PolicyHttpMessageHandler有关配置策略的指南,请参阅上的备注。See the remarks on PolicyHttpMessageHandler for guidance on configuring policies.

适用于

AddPolicyHandler(IHttpClientBuilder, Func<IServiceProvider,HttpRequestMessage,String,IAsyncPolicy<HttpResponseMessage>>, Func<HttpRequestMessage,String>)

添加 PolicyHttpMessageHandler,它将使用通过执行提供的密钥选择逻辑 keySelectorpolicyFactory 返回的策略将请求执行涵盖在内Adds a PolicyHttpMessageHandler which will surround request execution with a policy returned by executing provided key selection logic keySelector and policyFactory

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ AddPolicyHandler(Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ builder, Func<IServiceProvider ^, System::Net::Http::HttpRequestMessage ^, System::String ^, Polly::IAsyncPolicy<System::Net::Http::HttpResponseMessage ^> ^> ^ policyFactory, Func<System::Net::Http::HttpRequestMessage ^, System::String ^> ^ keySelector);
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddPolicyHandler (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, Func<IServiceProvider,System.Net.Http.HttpRequestMessage,string,Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> policyFactory, Func<System.Net.Http.HttpRequestMessage,string> keySelector);
static member AddPolicyHandler : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * Func<IServiceProvider, System.Net.Http.HttpRequestMessage, string, Polly.IAsyncPolicy<System.Net.Http.HttpResponseMessage>> * Func<System.Net.Http.HttpRequestMessage, string> -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function AddPolicyHandler (builder As IHttpClientBuilder, policyFactory As Func(Of IServiceProvider, HttpRequestMessage, String, IAsyncPolicy(Of HttpResponseMessage)), keySelector As Func(Of HttpRequestMessage, String)) As IHttpClientBuilder

参数

policyFactory
Func<IServiceProvider,HttpRequestMessage,String,IAsyncPolicy<HttpResponseMessage>>

根据所选密钥选择要应用于当前请求的 IAsyncPolicy`1Selects an IAsyncPolicy`1 to apply to the current request based on key selection.

keySelector
Func<HttpRequestMessage,String>

用于根据 HttpRequestMessage 生成策略密钥的委托。A delegate used to generate a policy key based on the HttpRequestMessage.

返回

IHttpClientBuilder

可用于配置客户端的 IHttpClientBuilderAn IHttpClientBuilder that can be used to configure the client.

注解

由生成的密钥 policyFactory 首先用于查找 IPolicyRegistry 中的现有策略。Key generated by policyFactory is first used to lookup existing policies from IPolicyRegistry. 如果注册表中不存在策略,则使用创建新策略, policyFactory 并将其添加到 IPolicyRegistry 中。If policy does not exist in the registry, create a new policy with policyFactory and add it in IPolicyRegistry.

PolicyHttpMessageHandler有关配置策略的指南,请参阅上的备注。See the remarks on PolicyHttpMessageHandler for guidance on configuring policies.

适用于