Polly 7.0.0 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved

.NET Standard 1.1
There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
Install-Package Polly -Version 7.0.0
dotnet add package Polly --version 7.0.0
<PackageReference Include="Polly" Version="7.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Polly --version 7.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Polly, 7.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Polly as a Cake Addin
#addin nuget:?package=Polly&version=7.0.0

// Install Polly as a Cake Tool
#tool nuget:?package=Polly&version=7.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Polly is a .NET Standard 1.1 and .NET Standard 2.0 library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation and Fallback in a fluent and thread-safe manner.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1
.NET Framework net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen30 tizen40 tizen60
Universal Windows Platform uap uap10.0
Windows Phone wpa81
Windows Store netcore netcore45 netcore451
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1.6K)

Showing the top 5 NuGet packages that depend on Polly:

Package Downloads
Polly.Extensions.Http The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Polly.Extensions.Http is an extensions package containing opinionated convenience methods for configuring Polly policies to handle transient faults typical of calls through HttpClient.

Microsoft.Extensions.Http.Polly The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

The HttpClient factory is a pattern for configuring and retrieving named HttpClients in a composable way. This package integrates IHttpClientFactory with the Polly library, to add transient-fault-handling and resiliency through fluent policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/e77cb01b5529c137130757859f09f892dbdd2436

Polly.Caching.Memory The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Polly.Caching.Memory is a plug-in for the .NET OSS resilience library Polly, supporting Microsoft.Extensions.Caching.Memory.MemoryCache as a provider for Polly's CachePolicy.


Common application functionality and features to be shared across the framework


Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET. Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph. Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including "dot notation" for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct. Gremlin.Net is designed to connect to a "server" that is hosting a TinkerPop-enabled graph system. That "server" could be Gremlin Server https://tinkerpop.apache.org/docs/current/reference/#gremlin-server or a remote graph provider that exposes protocols by which Gremlin.Net can connect. Please see the Reference Documentation of Apache TinkerPop for more information on usage: https://tinkerpop.apache.org/docs/current/reference and use our Google Group gremlin-users if there are any questions: https://s.apache.org/c8hru The Gremlin language allows users to write highly expressive graph traversals and has a broad list of functions that cover a wide body of features. The Reference Documentation describes these functions and other aspects of the TinkerPop ecosystem including some specifics on Gremlin in .NET itself: https://s.apache.org/pgbwu Most of the examples found in the documentation use Groovy language syntax in the Gremlin Console. For the most part, these examples should generally translate to C# with some logical modification: https://s.apache.org/10v91 Given the strong correspondence between canonical Gremlin in Java and its variants like C#, there is a limited amount of C#-specific documentation and examples. This strong correspondence among variants ensures that the general Gremlin reference documentation is applicable to all variants and that users moving between development languages can easily adopt the Gremlin variant for that language. NOTE that versions suffixed with "-rc" are considered release candidates (i.e. pre-alpha, alpha, beta, etc.) and thus for early testing purposes only.

GitHub repositories (152)

Showing the top 5 popular GitHub repositories that depend on Polly:

Repository Stars
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 6, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.
Simple REST and HTTP API Client for .NET
Open Source Web Application Framework for ASP.NET Core
🛠「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。
API Support for your favorite torrent trackers
Version Downloads Last updated
7.2.3 5,275,602 1/17/2022
7.2.2 25,205,047 4/11/2021
7.2.1 40,705,401 5/2/2020
7.2.0 21,854,798 11/27/2019
7.1.1 9,245,586 9/2/2019
7.1.0 45,656,240 3/13/2019
7.0.3 1,181,732 2/21/2019
7.0.2 700,116 2/11/2019
7.0.1 347,238 2/9/2019
6.1.2 6,757,572 11/27/2018
6.1.1 814,379 11/12/2018
6.1.0 7,180,615 7/15/2018
6.0.1 15,646,637 5/6/2018
6.0.0-v6alpha0001 6,014 5/3/2018
5.9.0 3,501,307 4/9/2018
5.8.0 3,349,362 1/31/2018
5.7.0 647,172 1/6/2018
5.6.1 1,032,225 11/29/2017
5.6.0 80,277 11/27/2017
5.5.0 866,900 11/3/2017
5.4.0 91,968 11/1/2017
5.3.1 2,544,322 8/6/2017
5.3.0 197,126 7/27/2017
5.2.0 435,483 6/28/2017
5.1.1-v5-x-cachealpha0001 52,248 6/2/2017
5.1.0 798,253 5/4/2017
5.0.6 792,847 2/11/2017
5.0.5 398,650 2/4/2017
5.0.3 456,410 1/6/2017
5.0.2-v5-0-alpha0001 15,983 11/22/2016
5.0.1-v5-0-alpha0001 16,618 10/25/2016
4.5.0-beta-netstandar-0001 26,886 9/6/2016
4.3.0 1,781,882 6/30/2016
4.2.4 36,770 6/17/2016
4.2.3 33,743 6/7/2016
4.2.2 14,684 6/2/2016
4.2.1 113,817 5/26/2016
4.2.0 154,609 4/14/2016
4.1.2 256,718 3/17/2016
4.1.1 30,360 3/11/2016
4.1.0 6,382 3/10/2016
4.0.0 76,472 2/18/2016
3.0.0 71,177 1/11/2016
2.2.7 48,264 1/1/2016
2.2.6 6,373 12/30/2015
2.2.5 14,202 12/28/2015
2.2.4 50,140 12/3/2015
2.2.3 179,118 8/9/2015
2.2.2 91,191 6/2/2015
2.2.1 71,130 2/15/2015
2.2.0 28,249 1/25/2015
2.1.0 25,363 11/28/2014
2.0.0 25,258 3/13/2014
1.1.0 7,735 6/16/2013
1.0.0 18,243 5/5/2013

    - Clarify separation of sync and async policies (breaking change)
    - Enable extensibility by custom policies hosted external to Polly
    - Enable collection initialization syntax for PolicyRegistry
    - Enable cache policies to cache default(TResult) (breaking change)
    - Restore Exception binary serialization for .Net Standard 2.0

    - Bug Fix: Async continuation control for async executions (issue 540, affected only v6.1.1)

    - Bug Fix: Context.PolicyKey behaviour in PolicyWrap (issue 510)

    - Bug Fix: Context.PolicyKey behaviour in PolicyWrap
    - Bug Fix: CachePolicy behaviour with non-nullable types
    - Enhancement: WaitAnd/RetryForever overloads where onRetry takes the retry number as a parameter
    - Enhancement: Overloads where onTimeout takes thrown exception as a parameter

    - Version 6 RTM, for integration to ASPNET Core 2.1 IHttpClientFactory

    - Publish as strong-named package only (discontinue non-strong-named versions)
    - Add .NetStandard 2.0 tfm
    - Provide .NET4.5 support via .NetStandard 1.1 tfm
    - Discontinue .NET4.0 support
    - Remove methods marked as deprecated in v5.9.0

    - Allow Timeout.InfiniteTimeSpan (no timeout) for TimeoutPolicy.
    - Add .AsPolicy<TResult> and .AsAsyncPolicy<TResult> methods for converting non-generic policies to generic policies.
    - Per Semver, indicates deprecation of overloads and properties intended to be removed or renamed in Polly v6.

    - Add a new onBreak overload that provides the prior state on a transition to an open state
    - Bug fix: RelativeTtl in CachePolicy now always returns a ttl relative to time item is cached
    - Minor cache fixes
    - Add ability to calculate cache Ttl based on item to cache
    - Allow user-created custom policies

    - Extend PolicyWrap syntax with interfaces

    - Add ability to handle inner exceptions natively: .HandleInner<TEx>()
    - Allow WaitAndRetry policies to calculate wait based on the handled fault
    - Add the ability to access the policies within an IPolicyWrap
    - Allow PolicyWrap to take interfaces as parameters
    - Bug fix: set context keys for generic execute method with PolicyWrap
    - Bug fix: generic TResult method with non-generic fallback policy
    - Performance improvements

    - Bug fix: non-generic CachePolicy with PolicyWrap
    - Add Cache interfaces
    - Add CachePolicy: cache-aside pattern, with interfaces for pluggable cache providers and serializers.
    - Bug fix: Sync TimeoutPolicy in pessimistic mode no longer interposes AggregateException.
    - Provide public factory methods for PolicyResult, to support testing.
    - Fallback delegates can now take handled fault as input parameter.

    - Make ISyncPolicy<TResult> public
    - (Upgrade solution to msbuild15)

    - Fix ExecuteAndCapture() usage with PolicyWrap   
    - Allow Fallback delegates to take execution Context
    - Provide IReadOnlyPolicyRegistry interface

    - Add PolicyRegistry for storing and retrieving policies.
    - Add interfaces by policy type and execution type.
    - Change .NetStandard minimum support to NetStandard1.1.

    - Allow different parts of a policy execution to exchange data via a mutable Context travelling with each execution.

    - Update NETStandard.Library dependency to latest 1.6.1 for .NetStandard1.0 target.  Resolves compatibility for some Xamarin targets.

    - Bug fix: Prevent request stampede during half-open state of CircuitBreaker and AdvancedCircuitBreaker.  Enforce only one new trial call per break duration, during half-open state.
    - Bug fix: Prevent duplicate raising of the onBreak delegate, if executions started when a circuit was closed, return faults when a circuit has already opened.
    - Optimisation: Optimise hotpaths for Circuit-Breaker, Retry and Fallback policies.
    - Add NoOpPolicy: NoOpPolicy executes delegates without intervention; for eg stubbing out Polly in unit testing.

    5.0.4 pre
    - (.NET40Async package changes only)

    5.0.3 RTM
    - Refine implementation of cancellable synchronous WaitAndRetry
    - Minor breaking change: Where a user delegate does not observe cancellation, Polly will now honour the delegate's outcome rather than throw for the unobserved cancellation (issue 188).

    5.0.2 alpha
    - .NETStandard1.0 target: Correctly state dependencies.
    - .NETStandard1.0 target: Fix SemVer stamping of Polly.dll.
    - PCL259 project and target: Remove, in favour of .NETStandard1.0 target.  PCL259 targets are still supported, via .NETStandard1.0 target.
    - Mark Polly.dll as CLSCompliant.
    5.0.1 alpha
    - Add a .NETStandard1.0 target.

    5.0.0 alpha
    A major release, adding significant new resilience policies:
    - Timeout policy: allows timing out any execution
    - Bulkhead isolation policy: limits the resources consumable by governed actions, such that a faulting channel cannot cause cascading failures.
    - Fallback policy: provides for a fallback execution or value, in case of overall failure
    - PolicyWrap: allows flexibly combining Policy instances of any type, to form an overall resilience strategy.

    Other changes include:
    - Add PolicyKeys and context to all policy executions, for logging and to support later introduction of policy events and metrics.
    - Add CancellationToken support to synchronous executions.
    - Add some missing ExecuteAndCapture/Async overloads.
    - Remove invalid ExecuteAsync overloads taking (but not making use of) a CancellationToken
    - Provide .NET4.0 support uniquely through Polly.NET40Async package
    - Retire ContextualPolicy (not part of documented API; support now in Policy base class)
    - Discontinue .NET3.5 support

    Earlier versions
    For versions prior to v5.0, please see the detailed ChangeLog on the Polly project site.