ZibStack.NET.Aop.Polly
3.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ZibStack.NET.Aop.Polly --version 3.0.1
NuGet\Install-Package ZibStack.NET.Aop.Polly -Version 3.0.1
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="ZibStack.NET.Aop.Polly" Version="3.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZibStack.NET.Aop.Polly" Version="3.0.1" />
<PackageReference Include="ZibStack.NET.Aop.Polly" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZibStack.NET.Aop.Polly --version 3.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ZibStack.NET.Aop.Polly, 3.0.1"
#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.
#:package ZibStack.NET.Aop.Polly@3.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZibStack.NET.Aop.Polly&version=3.0.1
#tool nuget:?package=ZibStack.NET.Aop.Polly&version=3.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ZibStack.NET.Aop.Polly
Polly-based resilience aspects for ZibStack.NET.Aop.
Install
dotnet add package ZibStack.NET.Aop
dotnet add package ZibStack.NET.Aop.Polly
Setup
builder.Services.AddAop(); // built-in aspects ([Trace], [Retry], [Cache], ...)
builder.Services.AddAopPolly(); // [PollyRetry], [PollyHttpRetry], [PollyCircuitBreaker], [PollyRateLimiter]
var app = builder.Build();
app.Services.UseAop();
[PollyHttpRetry] — transient HTTP error retry
[PollyHttpRetry]
public async Task<string> CallApiAsync(string url) { ... }
[PollyHttpRetry(MaxRetryAttempts = 5, DelayMs = 500)]
public async Task<OrderResponse> PlaceOrderAsync(OrderRequest req) { ... }
Handles HttpRequestException (transient status codes: 408, 429, 5xx), TaskCanceledException (timeouts). Exponential backoff with jitter.
[PollyRetry] — full Polly retry
// Inline pipeline:
[PollyRetry(MaxRetryAttempts = 3, DelayMs = 200, BackoffType = RetryBackoffType.Exponential)]
public async Task<Order> GetOrderAsync(int id) { ... }
// Exception filtering:
[PollyRetry(Handle = new[] { typeof(HttpRequestException) })]
public async Task<string> FetchAsync() { ... }
// Named pipeline (requires Microsoft.Extensions.Resilience):
[PollyRetry(PipelineName = "external-api")]
public async Task<string> CallExternalAsync(string url) { ... }
Named pipeline setup:
builder.Services.AddResiliencePipeline("external-api", builder =>
{
builder.AddRetry(new() { MaxRetryAttempts = 5, Delay = TimeSpan.FromSeconds(1) });
builder.AddCircuitBreaker(new() { FailureRatio = 0.5 });
builder.AddTimeout(TimeSpan.FromSeconds(30));
});
[PollyCircuitBreaker] — circuit breaker
[PollyCircuitBreaker(FailureThreshold = 0.5, SamplingDurationSeconds = 30, BreakDurationSeconds = 15)]
public async Task<string> CallExternalApiAsync() { ... }
Trips after failure threshold, fast-fails with BrokenCircuitException, half-opens after break duration.
[PollyRateLimiter] — rate limiting
[PollyRateLimiter(PermitLimit = 100, WindowSeconds = 60)]
public async Task<SearchResult> SearchAsync(string query) { ... }
Fixed window rate limiter. Excess calls throw RateLimiterRejectedException.
Documentation
Full documentation: mistykuu.github.io/ZibStack.NET/packages/aop/
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Polly.Core (>= 8.5.2)
- Polly.RateLimiting (>= 8.5.2)
- ZibStack.NET.Aop.Abstractions (>= 3.0.1)
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 |
|---|---|---|
| 3.2.4 | 102 | 4/21/2026 |
| 3.2.3 | 95 | 4/21/2026 |
| 3.2.2 | 84 | 4/21/2026 |
| 3.2.1 | 98 | 4/21/2026 |
| 3.2.0 | 91 | 4/21/2026 |
| 3.1.5 | 87 | 4/20/2026 |
| 3.1.4 | 100 | 4/20/2026 |
| 3.1.3 | 100 | 4/20/2026 |
| 3.1.2 | 97 | 4/20/2026 |
| 3.1.1 | 87 | 4/20/2026 |
| 3.1.0 | 90 | 4/20/2026 |
| 3.0.6 | 96 | 4/20/2026 |
| 3.0.5 | 93 | 4/20/2026 |
| 3.0.4 | 86 | 4/20/2026 |
| 3.0.3 | 85 | 4/20/2026 |
| 3.0.2 | 89 | 4/20/2026 |
| 3.0.1 | 106 | 4/20/2026 |
| 3.0.0 | 97 | 4/20/2026 |
| 2.82.0 | 91 | 4/20/2026 |
| 2.8.1 | 93 | 4/18/2026 |
Loading failed