HttpStandardHedgingResilienceOptions Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Options for the pipeline of resilience strategies for usage in hedging HTTP scenarios.
public ref class HttpStandardHedgingResilienceOptions
public class HttpStandardHedgingResilienceOptions
type HttpStandardHedgingResilienceOptions = class
Public Class HttpStandardHedgingResilienceOptions
- Inheritance
-
HttpStandardHedgingResilienceOptions
Remarks
These options represents configuration for 5 chained layers in this order (from the outermost to the innermost):
Total Request Timeout -> Hedging -> Bulkhead (per endpoint) -> Circuit Breaker (per endpoint) -> Attempt Timeout (per endpoint).
The configuration of each resilience strategy is initialized with the default options per type. The request goes through these resilience strategies:
- Total request timeout strategy applies an overall timeout to the execution, ensuring that the request including hedging attempts does not exceed the configured limit.
- The hedging strategy executes the requests against multiple endpoints in case the dependency is slow or returns a transient error.
- The rate limiter pipeline limits the maximum number of requests being send to the dependency.
- The circuit breaker blocks the execution if too many direct failures or timeouts are detected.
- The attempt timeout strategy limits each request attempt duration and throws if its exceeded.
The last three strategies are assigned to each individual endpoint. The selection of endpoint can be customized by SelectPipelineByAuthority(IStandardHedgingHandlerBuilder) or SelectPipelineBy(IStandardHedgingHandlerBuilder, Func<IServiceProvider,Func<HttpRequestMessage,String>>) extensions.
By default, the endpoint is selected by authority (scheme + host + port).
Constructors
HttpStandardHedgingResilienceOptions() |
Properties
Endpoint |
Gets or sets the hedging endpoint options. |
Hedging |
Gets or sets the hedging strategy options. |
TotalRequestTimeout |
Gets or sets the timeout strategy options for the total timeout applied on the request execution. |
Methods
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |