Class ResiliencePipelineBuilderExtensions
- Namespace
- Polly
- Assembly
- Polly.Core.dll
Extensions for ResiliencePipelineBuilderBase.
public static class ResiliencePipelineBuilderExtensions
- Inheritance
-
ResiliencePipelineBuilderExtensions
- Inherited Members
Methods
AddPipeline<TResult>(ResiliencePipelineBuilder<TResult>, ResiliencePipeline<TResult>)
Adds an already created pipeline instance to the builder.
[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "The EmptyOptions have nothing to validate.")]
public static ResiliencePipelineBuilder<TResult> AddPipeline<TResult>(this ResiliencePipelineBuilder<TResult> builder, ResiliencePipeline<TResult> pipeline)
Parameters
builderResiliencePipelineBuilder<TResult>The builder instance.
pipelineResiliencePipeline<TResult>The pipeline instance.
Returns
- ResiliencePipelineBuilder<TResult>
The same builder instance.
Type Parameters
TResultThe type of the result.
Exceptions
- ArgumentNullException
Thrown when
pipelineis null.- InvalidOperationException
Thrown when this builder was already used to create a strategy. The builder cannot be modified after it has been used.
AddPipeline<TBuilder>(TBuilder, ResiliencePipeline)
Adds an already created pipeline instance to the builder.
[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "The EmptyOptions have nothing to validate.")]
public static TBuilder AddPipeline<TBuilder>(this TBuilder builder, ResiliencePipeline pipeline) where TBuilder : ResiliencePipelineBuilderBase
Parameters
builderTBuilderThe builder instance.
pipelineResiliencePipelineThe pipeline instance.
Returns
- TBuilder
The same builder instance.
Type Parameters
TBuilderThe builder type.
Exceptions
- ArgumentNullException
Thrown when
pipelineis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
AddStrategy(ResiliencePipelineBuilder, Func<StrategyBuilderContext, ResilienceStrategy<object>>)
Adds a proactive resilience strategy to the builder.
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(ResiliencePipelineBuilderExtensions.EmptyOptions))]
[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "All options members preserved for the empty options.")]
public static ResiliencePipelineBuilder AddStrategy(this ResiliencePipelineBuilder builder, Func<StrategyBuilderContext, ResilienceStrategy<object>> factory)
Parameters
builderResiliencePipelineBuilderThe builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy<object>>The strategy instance.
Returns
- ResiliencePipelineBuilder
The same builder instance.
Exceptions
- ArgumentNullException
Thrown when
builderorfactoryis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
AddStrategy(ResiliencePipelineBuilder, Func<StrategyBuilderContext, ResilienceStrategy<object>>, ResilienceStrategyOptions)
Adds a reactive strategy to the builder.
[RequiresUnreferencedCode("This call validates the options using the data annotations attributes.\nMake sure that the options are included by adding the '[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(OptionsType))]' attribute to the calling method.")]
public static ResiliencePipelineBuilder AddStrategy(this ResiliencePipelineBuilder builder, Func<StrategyBuilderContext, ResilienceStrategy<object>> factory, ResilienceStrategyOptions options)
Parameters
builderResiliencePipelineBuilderThe builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy<object>>The factory that creates a resilience strategy.
optionsResilienceStrategyOptionsThe options associated with the strategy.
Returns
- ResiliencePipelineBuilder
The same builder instance.
Exceptions
- ArgumentNullException
Thrown when
builder,factoryoroptionsis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
- ValidationException
Thrown when
optionsis invalid.
AddStrategy<TResult>(ResiliencePipelineBuilder<TResult>, Func<StrategyBuilderContext, ResilienceStrategy<TResult>>)
Adds a reactive resilience strategy to the builder.
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(ResiliencePipelineBuilderExtensions.EmptyOptions))]
[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "All options members preserved for the empty options.")]
public static ResiliencePipelineBuilder<TResult> AddStrategy<TResult>(this ResiliencePipelineBuilder<TResult> builder, Func<StrategyBuilderContext, ResilienceStrategy<TResult>> factory)
Parameters
builderResiliencePipelineBuilder<TResult>The builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy<TResult>>The strategy instance.
Returns
- ResiliencePipelineBuilder<TResult>
The same builder instance.
Type Parameters
TResultThe result type.
Exceptions
- ArgumentNullException
Thrown when
builderorfactoryis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
AddStrategy<TResult>(ResiliencePipelineBuilder<TResult>, Func<StrategyBuilderContext, ResilienceStrategy<TResult>>, ResilienceStrategyOptions)
Adds a reactive strategy to the builder.
[RequiresUnreferencedCode("This call validates the options using the data annotations attributes.\nMake sure that the options are included by adding the '[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(OptionsType))]' attribute to the calling method.")]
public static ResiliencePipelineBuilder<TResult> AddStrategy<TResult>(this ResiliencePipelineBuilder<TResult> builder, Func<StrategyBuilderContext, ResilienceStrategy<TResult>> factory, ResilienceStrategyOptions options)
Parameters
builderResiliencePipelineBuilder<TResult>The builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy<TResult>>The factory that creates a resilience strategy.
optionsResilienceStrategyOptionsThe options associated with the strategy.
Returns
- ResiliencePipelineBuilder<TResult>
The same builder instance.
Type Parameters
TResultThe type of the result.
Exceptions
- ArgumentNullException
Thrown when
builder,factoryoroptionsis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
- ValidationException
Thrown when
optionsis invalid.
AddStrategy<TBuilder>(TBuilder, Func<StrategyBuilderContext, ResilienceStrategy>)
Adds a reactive resilience strategy to the builder.
[DynamicDependency((DynamicallyAccessedMemberTypes)-1, typeof(ResiliencePipelineBuilderExtensions.EmptyOptions))]
[UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "All options members preserved for the empty options.")]
public static TBuilder AddStrategy<TBuilder>(this TBuilder builder, Func<StrategyBuilderContext, ResilienceStrategy> factory) where TBuilder : ResiliencePipelineBuilderBase
Parameters
builderTBuilderThe builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy>The strategy factory.
Returns
- TBuilder
The same builder instance.
Type Parameters
TBuilderThe builder type.
Exceptions
- ArgumentNullException
Thrown when
builderorfactoryis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
AddStrategy<TBuilder>(TBuilder, Func<StrategyBuilderContext, ResilienceStrategy>, ResilienceStrategyOptions)
Adds a proactive resilience strategy to the builder.
[RequiresUnreferencedCode("This call validates the options using the data annotations attributes.\nMake sure that the options are included by adding the '[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(OptionsType))]' attribute to the calling method.")]
public static TBuilder AddStrategy<TBuilder>(this TBuilder builder, Func<StrategyBuilderContext, ResilienceStrategy> factory, ResilienceStrategyOptions options) where TBuilder : ResiliencePipelineBuilderBase
Parameters
builderTBuilderThe builder instance.
factoryFunc<StrategyBuilderContext, ResilienceStrategy>The factory that creates a resilience strategy.
optionsResilienceStrategyOptionsThe options associated with the strategy.
Returns
- TBuilder
The same builder instance.
Type Parameters
TBuilderThe builder type.
Exceptions
- ArgumentNullException
Thrown when
builder,factoryoroptionsis null.- InvalidOperationException
Thrown when this builder was already used to create a pipeline. The builder cannot be modified after it has been used.
- ValidationException
Thrown when
optionsis invalid.