FlutterEffect.PollyFactory
1.0.0
dotnet add package FlutterEffect.PollyFactory --version 1.0.0
NuGet\Install-Package FlutterEffect.PollyFactory -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FlutterEffect.PollyFactory" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FlutterEffect.PollyFactory --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FlutterEffect.PollyFactory, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FlutterEffect.PollyFactory as a Cake Addin
#addin nuget:?package=FlutterEffect.PollyFactory&version=1.0.0
// Install FlutterEffect.PollyFactory as a Cake Tool
#tool nuget:?package=FlutterEffect.PollyFactory&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Introduction
A library that simplifies usage and configuration of Polly policies.
Getting Started
- Create PollyConfig section in your config file
- In Startup.cs call
services.AddSingleton(PollyFactory.LoadRegistryFromConfig(Configuration, "PollyConfig"));
- Import PolicyRegistry instance in your service
- Get your Policy by name:
_retrier = registry.Get<RetryPolicy>("MyRetrier");
If you need a RetryPolicy with OnRetry handler, call PollyFabric.CreateRetrierWithHandler(configSection, onRetry)
- Retriers are thread-safe, so it's ok to use the same instance across app.
- Circuit breakers have own state, so use separate CB in each thread.
- To create a new instance of a Policy from config, use
PollyFabric.CreatePolicy(config, configSection, PolicyKey)
Config section reference
"PollyConfig": {
"MyRetrier": { //name of your policy
"Type": "SimpleRetrier", //Retrier type
"Waits": [ 10, 60, 600, 1800 ], //array of wait times in ms
"Retries": 3 //tries count (for simple retrier and CB)
"Timeout": 1000 //optional timeout to execute a task (note: Policy type would be PolicyWrap),
}
}
Available policies
- (Async)Retrier - retries forever with the "Waits" delays.
- Simple(Async)Retrier - retries "Retries" times with the "Waits" delays.
- (Async)CircuitBreaker - after "Retries" times fails for "Waits[0]" seconds.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Microsoft.Extensions.Configuration (>= 7.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 7.0.4)
- Polly (>= 7.2.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 153 | 4/26/2023 |