8.5.0
12 Nov 24
Toggle Dropdown
Version 8
8.5.2
4 Feb 25
8.5.1
13 Jan 25
8.5.0
12 Nov 24
8.4.2
26 Sep 24
8.4.1
28 Jun 24
8.4.0
10 May 24
8.3.1
6 Mar 24
8.3.0
5 Feb 24
8.2.1
5 Jan 24
8.2.0
14 Nov 23
8.1.0
31 Oct 23
8.0.0
28 Sep 23
8.0.0-beta.2
8 Sep 23
8.0.0-beta.1
31 Aug 23
8.0.0-alpha.9
30 Aug 23
8.0.0-alpha.8
8 Aug 23
8.0.0-alpha.7
26 Jul 23
8.0.0-alpha.6
14 Jul 23
8.0.0-alpha.5
3 Jul 23
8.0.0-alpha.4
26 Jun 23
8.0.0-alpha.3
23 Jun 23
8.0.0-alpha.2
21 Jun 23
8.0.0-alpha.1
15 Jun 23
Compare to version...
with 8.0.0
Toggle Dropdown
Version 8
8.5.2
4 Feb 25
8.5.1
13 Jan 25
8.5.0
12 Nov 24
8.4.2
26 Sep 24
8.4.1
28 Jun 24
8.4.0
10 May 24
8.3.1
6 Mar 24
8.3.0
5 Feb 24
8.2.1
5 Jan 24
8.2.0
14 Nov 23
8.1.0
31 Oct 23
8.0.0
28 Sep 23
8.0.0-beta.2
8 Sep 23
8.0.0-beta.1
31 Aug 23
8.0.0-alpha.9
30 Aug 23
8.0.0-alpha.8
8 Aug 23
8.0.0-alpha.7
26 Jul 23
8.0.0-alpha.6
14 Jul 23
8.0.0-alpha.5
3 Jul 23
8.0.0-alpha.4
26 Jun 23
8.0.0-alpha.3
23 Jun 23
8.0.0-alpha.2
21 Jun 23
8.0.0-alpha.1
15 Jun 23
Download Package
Open in NuGet
<
PackageReference
Include
=
"Polly.Core"
Version
=
"8.5.0"
/>
API Differences between 8.5.0 and 8.0.0
109
Additions
0
Removals
Polly
public
abstract
class
ExecutionRejectedException
:
Exception
public
virtual
ResilienceTelemetrySource
TelemetrySource
{
get
; }
public
abstract
class
ResiliencePipelineBuilderBase
public
ResilienceContextPool
ContextPool
{
get
;
set
; }
public
TimeProvider
TimeProvider
{
get
;
set
; }
public
static
class
ResiliencePipelineBuilderExtensions
public
static
TBuilder
AddStrategy
<
TBuilder
>(
this
TBuilder
builder
,
Func
<
StrategyBuilderContext
,
ResilienceStrategy
>
factory
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
ResiliencePipelineBuilder
AddStrategy
(
this
ResiliencePipelineBuilder
builder
,
Func
<
StrategyBuilderContext
,
ResilienceStrategy
<
object
>>
factory
)
public
static
ResiliencePipelineBuilder
<
TResult
>
AddStrategy
<
TResult
>(
this
ResiliencePipelineBuilder
<
TResult
>
builder
,
Func
<
StrategyBuilderContext
,
ResilienceStrategy
<
TResult
>>
factory
)
public
sealed
class
StrategyBuilderContext
public
TimeProvider
TimeProvider
{
get
; }
Polly.CircuitBreaker
public
struct
BreakDurationGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
int
FailureCount
{
get
; }
public
double
FailureRate
{
get
; }
public
int
HalfOpenAttempts
{
get
; }
public
BreakDurationGeneratorArguments
(
double
failureRate
,
int
failureCount
,
ResilienceContext
context
)
public
BreakDurationGeneratorArguments
(
double
failureRate
,
int
failureCount
,
ResilienceContext
context
,
int
halfOpenAttempts
)
public
class
BrokenCircuitException
:
ExecutionRejectedException
public
TimeSpan
?
RetryAfter
{
get
; }
public
BrokenCircuitException
(
TimeSpan
retryAfter
)
public
BrokenCircuitException
(
string
message
,
TimeSpan
retryAfter
)
public
BrokenCircuitException
(
string
message
,
TimeSpan
retryAfter
,
Exception
inner
)
public
class
CircuitBreakerStrategyOptions
<
TResult
> :
ResilienceStrategyOptions
public
Func
<
BreakDurationGeneratorArguments
,
ValueTask
<
TimeSpan
>>
BreakDurationGenerator
{
get
;
set
; }
Polly.Simmy
public
static
class
ChaosBehaviorPipelineBuilderExtensions
public
static
TBuilder
AddChaosBehavior
<
TBuilder
>(
this
TBuilder
builder
,
double
injectionRate
,
Func
<
CancellationToken
,
ValueTask
>
behavior
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
TBuilder
AddChaosBehavior
<
TBuilder
>(
this
TBuilder
builder
,
ChaosBehaviorStrategyOptions
options
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
class
ChaosFaultPipelineBuilderExtensions
public
static
TBuilder
AddChaosFault
<
TBuilder
>(
this
TBuilder
builder
,
double
injectionRate
,
Func
<
Exception
>
faultGenerator
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
TBuilder
AddChaosFault
<
TBuilder
>(
this
TBuilder
builder
,
ChaosFaultStrategyOptions
options
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
class
ChaosLatencyPipelineBuilderExtensions
public
static
TBuilder
AddChaosLatency
<
TBuilder
>(
this
TBuilder
builder
,
double
injectionRate
,
TimeSpan
latency
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
TBuilder
AddChaosLatency
<
TBuilder
>(
this
TBuilder
builder
,
ChaosLatencyStrategyOptions
options
) where
TBuilder
:
ResiliencePipelineBuilderBase
public
static
class
ChaosOutcomePipelineBuilderExtensions
public
static
ResiliencePipelineBuilder
<
TResult
>
AddChaosOutcome
<
TResult
>(
this
ResiliencePipelineBuilder
<
TResult
>
builder
,
double
injectionRate
,
Func
<
TResult
>
resultGenerator
)
public
static
ResiliencePipelineBuilder
<
TResult
>
AddChaosOutcome
<
TResult
>(
this
ResiliencePipelineBuilder
<
TResult
>
builder
,
ChaosOutcomeStrategyOptions
<
TResult
>
options
)
public
abstract
class
ChaosStrategy
:
ResilienceStrategy
protected
ChaosStrategy
(
ChaosStrategyOptions
options
)
protected
ValueTask
<
bool
>
ShouldInjectAsync
(
ResilienceContext
context
)
public
abstract
class
ChaosStrategy
<
T
> :
ResilienceStrategy
<
T
>
protected
ChaosStrategy
(
ChaosStrategyOptions
options
)
protected
ValueTask
<
bool
>
ShouldInjectAsync
(
ResilienceContext
context
)
public
abstract
class
ChaosStrategyOptions
:
ResilienceStrategyOptions
public
bool
Enabled
{
get
;
set
; }
public
Func
<
EnabledGeneratorArguments
,
ValueTask
<
bool
>>
EnabledGenerator
{
get
;
set
; }
public
double
InjectionRate
{
get
;
set
; }
public
Func
<
InjectionRateGeneratorArguments
,
ValueTask
<
double
>>
InjectionRateGenerator
{
get
;
set
; }
public
Func
<
double
>
Randomizer
{
get
;
set
; }
protected
ChaosStrategyOptions
()
public
struct
EnabledGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
EnabledGeneratorArguments
(
ResilienceContext
context
)
public
struct
InjectionRateGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
InjectionRateGeneratorArguments
(
ResilienceContext
context
)
Polly.Simmy.Behavior
public
struct
BehaviorGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
BehaviorGeneratorArguments
(
ResilienceContext
context
)
public
class
ChaosBehaviorStrategyOptions
:
ChaosStrategyOptions
public
Func
<
BehaviorGeneratorArguments
,
ValueTask
>
BehaviorGenerator
{
get
;
set
; }
public
Func
<
OnBehaviorInjectedArguments
,
ValueTask
>
OnBehaviorInjected
{
get
;
set
; }
public
ChaosBehaviorStrategyOptions
()
public
struct
OnBehaviorInjectedArguments
public
ResilienceContext
Context
{
get
; }
public
OnBehaviorInjectedArguments
(
ResilienceContext
context
)
Polly.Simmy.Fault
public
class
ChaosFaultStrategyOptions
:
ChaosStrategyOptions
public
Func
<
FaultGeneratorArguments
,
ValueTask
<
Exception
>>
FaultGenerator
{
get
;
set
; }
public
Func
<
OnFaultInjectedArguments
,
ValueTask
>
OnFaultInjected
{
get
;
set
; }
public
ChaosFaultStrategyOptions
()
public
sealed
class
FaultGenerator
public
FaultGenerator
()
public
static
Func
<
FaultGeneratorArguments
,
ValueTask
<
Exception
>>
op_Implicit
(
FaultGenerator
generator
)
public
FaultGenerator
AddException
(
Func
<
Exception
>
generator
,
int
weight
=
100
)
public
FaultGenerator
AddException
(
Func
<
ResilienceContext
,
Exception
>
generator
,
int
weight
=
100
)
public
FaultGenerator
AddException
<
TException
>(
int
weight
=
100
) where
TException
:
Exception
public
struct
FaultGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
FaultGeneratorArguments
(
ResilienceContext
context
)
public
struct
OnFaultInjectedArguments
public
ResilienceContext
Context
{
get
; }
public
Exception
Fault
{
get
; }
public
OnFaultInjectedArguments
(
ResilienceContext
context
,
Exception
fault
)
Polly.Simmy.Latency
public
class
ChaosLatencyStrategyOptions
:
ChaosStrategyOptions
public
TimeSpan
Latency
{
get
;
set
; }
public
Func
<
LatencyGeneratorArguments
,
ValueTask
<
TimeSpan
>>
LatencyGenerator
{
get
;
set
; }
public
Func
<
OnLatencyInjectedArguments
,
ValueTask
>
OnLatencyInjected
{
get
;
set
; }
public
ChaosLatencyStrategyOptions
()
public
struct
LatencyGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
LatencyGeneratorArguments
(
ResilienceContext
context
)
public
struct
OnLatencyInjectedArguments
public
ResilienceContext
Context
{
get
; }
public
TimeSpan
Latency
{
get
; }
public
OnLatencyInjectedArguments
(
ResilienceContext
context
,
TimeSpan
latency
)
Polly.Simmy.Outcomes
public
class
ChaosOutcomeStrategyOptions
<
TResult
> :
ChaosStrategyOptions
public
Func
<
OnOutcomeInjectedArguments
<
TResult
>,
ValueTask
>
OnOutcomeInjected
{
get
;
set
; }
public
Func
<
OutcomeGeneratorArguments
,
ValueTask
<
Outcome
<
TResult
>?>>
OutcomeGenerator
{
get
;
set
; }
public
ChaosOutcomeStrategyOptions
()
public
struct
OnOutcomeInjectedArguments
<
TResult
>
public
ResilienceContext
Context
{
get
; }
public
Outcome
<
TResult
>
Outcome
{
get
; }
public
OnOutcomeInjectedArguments
(
ResilienceContext
context
,
Outcome
<
TResult
>
outcome
)
public
sealed
class
OutcomeGenerator
<
TResult
>
public
OutcomeGenerator
()
public
static
Func
<
OutcomeGeneratorArguments
,
ValueTask
<
Outcome
<
TResult
>?>>
op_Implicit
(
OutcomeGenerator
<
TResult
>
generator
)
public
OutcomeGenerator
<
TResult
>
AddException
(
Func
<
Exception
>
generator
,
int
weight
=
100
)
public
OutcomeGenerator
<
TResult
>
AddException
(
Func
<
ResilienceContext
,
Exception
>
generator
,
int
weight
=
100
)
public
OutcomeGenerator
<
TResult
>
AddException
<
TException
>(
int
weight
=
100
) where
TException
:
Exception
public
OutcomeGenerator
<
TResult
>
AddResult
(
Func
<
TResult
>
generator
,
int
weight
=
100
)
public
OutcomeGenerator
<
TResult
>
AddResult
(
Func
<
ResilienceContext
,
TResult
>
generator
,
int
weight
=
100
)
public
struct
OutcomeGeneratorArguments
public
ResilienceContext
Context
{
get
; }
public
OutcomeGeneratorArguments
(
ResilienceContext
context
)
Polly.Telemetry
public
sealed
class
ResilienceStrategyTelemetry
public
void
SetTelemetrySource
(
ExecutionRejectedException
exception
)