ASP.NET Core 异常重试组件 Polly
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET Core 异常重试组件 Polly
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Polly 是一種 .NET 彈性和瞬態(tài)故障處理庫,允許開發(fā)人員以流暢和線程安全的方式表達策略,如重試,斷路器,超時,隔離隔離和備用,Polly 適用于 .NET 4.0,.NET 4.5 和 .NET Standard 1.1。
安裝 Nuget 程序包:
Install-Package Polly簡單使用:
// Execute an action var policy = Policy.Handle<Exception>().RetryAsync(10, async (exception, retryCount) =>{await LogAsync(exception, $"第{retryCount}次重試");});await policy.ExecuteAsync(async () => await DoSomething());//另外一種使用方式: var tokenResponse = await Policy.Handle<Exception>().OrResult<TokenResponse>(x => x.IsError).RetryAsync(5) //如果使用Retry,會報錯誤:Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.ExecuteAsync(async () =>{var client = new DiscoveryClient(_appSettings.IssuerUri);client.Policy.RequireHttps = false;var disco = await client.GetAsync();var tokenClient = new TokenClient(disco.TokenEndpoint, clientId, clientSecret);return await tokenClient.RequestRefreshTokenAsync(refreshToken);});參考資料:
- Polly Github
- Implementing the retry pattern in c sharp using Polly
轉載于:https://www.cnblogs.com/xishuai/p/asp-net-core-polly.html
總結
以上是生活随笔為你收集整理的ASP.NET Core 异常重试组件 Polly的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6kyu Persistent Bug
- 下一篇: 注销凭证与自定义屏幕