PollyHttpClientBuilderExtensions.AddPolicyHandler 方法
定义
重载
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
参数
- builder
- IHttpClientBuilder
- policy
- IAsyncPolicy<HttpResponseMessage>
返回
可用于配置客户端的 IHttpClientBuilder。An 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
参数
- builder
- IHttpClientBuilder
- policySelector
- Func<IServiceProvider,HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>
选择要应用到当前请求的 IAsyncPolicy`1。Selects an IAsyncPolicy`1 to apply to the current request.
返回
可用于配置客户端的 IHttpClientBuilder。An 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
参数
- builder
- IHttpClientBuilder
- policySelector
- Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>
选择要应用到当前请求的 IAsyncPolicy`1。Selects an IAsyncPolicy`1 to apply to the current request.
返回
可用于配置客户端的 IHttpClientBuilder。An 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,它将使用通过执行提供的密钥选择逻辑 keySelector 和 policyFactory 返回的策略将请求执行涵盖在内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
参数
- builder
- IHttpClientBuilder
- policyFactory
- Func<IServiceProvider,HttpRequestMessage,String,IAsyncPolicy<HttpResponseMessage>>
根据所选密钥选择要应用于当前请求的 IAsyncPolicy`1。Selects 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。An 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.