国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

.net 微服務(wù) 服務(wù)保護(hù) 自動(dòng)重試 Polly

這篇具有很好參考價(jià)值的文章主要介紹了.net 微服務(wù) 服務(wù)保護(hù) 自動(dòng)重試 Polly。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 概要

實(shí)驗(yàn)服務(wù)保護(hù),自動(dòng)重新連接功能。

2.代碼

2.1 重復(fù)工具?

using Polly;
using Polly.Retry;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;

namespace WebApplication2
{
    public class ClientPolicy
    {
        public AsyncRetryPolicy<HttpResponseMessage> asyncRetryPolicy { get; set; } 
        public ClientPolicy()
        {
            asyncRetryPolicy = Policy.HandleResult<HttpResponseMessage>(p=>!p.IsSuccessStatusCode).WaitAndRetryAsync(5,retryAttemp=>TimeSpan.FromSeconds(Math.Pow(2,retryAttemp)));
        }
    }
}

2.2 調(diào)用位置

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;

namespace WebApplication2.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            ClientPolicy clientPolicy = new ClientPolicy();
            HttpClient httpClient = new HttpClient();
            clientPolicy.asyncRetryPolicy.ExecuteAsync(() => httpClient.GetAsync($"https://localhost:44367/test"));


            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
        }

        [HttpGet("/test")]
        public IActionResult test()
        {
            var randomNumber = new Random().Next(1, 100);
            if(randomNumber > 20)
            {
                //Console.WriteLine("請(qǐng)求成功 200");
                //return Ok("請(qǐng)求成功");
            }
            Console.WriteLine("請(qǐng)求失敗");
            return BadRequest("請(qǐng)求失敗");
        }
    }
}

2.實(shí)驗(yàn)結(jié)果

如果失敗下面的函數(shù)會(huì)重復(fù)調(diào)用5次文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-833528.html

[HttpGet("/test")]
        public IActionResult test()
        {
            var randomNumber = new Random().Next(1, 100);
            if(randomNumber > 20)
            {
                //Console.WriteLine("請(qǐng)求成功 200");
                //return Ok("請(qǐng)求成功");
            }
            Console.WriteLine("請(qǐng)求失敗");
            return BadRequest("請(qǐng)求失敗");
        }

到了這里,關(guān)于.net 微服務(wù) 服務(wù)保護(hù) 自動(dòng)重試 Polly的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • rabbitmq消息阻塞情況分析;自動(dòng)重試處理異常

    rabbitmq消息阻塞情況分析;自動(dòng)重試處理異常

    消費(fèi)者因?yàn)榇a問題出現(xiàn)了異常,此時(shí)默認(rèn)是自動(dòng)提交的消息,這個(gè) RuntimException 會(huì)導(dǎo)致消息直接重新入隊(duì),再次投遞(進(jìn)入隊(duì)首),此時(shí)會(huì)導(dǎo)致后面的消息被阻塞. auto 自動(dòng)確認(rèn)分四種情況,第一種就是正常消費(fèi),其他三種則為異常情況 消息成功被消費(fèi),沒有拋出異常,則自

    2024年02月17日
    瀏覽(25)
  • axios-retry插件-axios請(qǐng)求失敗自動(dòng)重試

    axios-retry 對(duì)外導(dǎo)出 axiosRetry() 方法: 通過對(duì) axios 單例添加“攔截器”,來(lái)擴(kuò)展實(shí)現(xiàn)自動(dòng)重試網(wǎng)絡(luò)請(qǐng)求功能。 備注: ?除非? shouldResetTimeout 被設(shè)置, 這個(gè)插件 將請(qǐng)求超時(shí)解釋為全局值, 不是針對(duì)每一個(gè)請(qǐng)求,二是全局的設(shè)置 Name Type Default Description retries Number 3 The number of times t

    2024年02月10日
    瀏覽(19)
  • 關(guān)于自動(dòng)化測(cè)試用例失敗重試的一些思考

    關(guān)于自動(dòng)化測(cè)試用例失敗重試的一些思考

    自動(dòng)化測(cè)試用例失敗重跑有助于提高自動(dòng)化用例的穩(wěn)定性,那我們來(lái)看一下,python和java生態(tài)里都有哪些具體做法? 如果是在python生態(tài)里,用pytest做測(cè)試驅(qū)動(dòng),那么可以通過pytest的插件pytest-rerunfailures來(lái)實(shí)現(xiàn)失敗用例重跑,具體的使用方式有兩種,一種是通過命令行指定pytes

    2024年02月14日
    瀏覽(18)
  • 【SpringBoot】springboot使用RestTemplate 進(jìn)行http請(qǐng)求失敗自動(dòng)重試

    【SpringBoot】springboot使用RestTemplate 進(jìn)行http請(qǐng)求失敗自動(dòng)重試

    我們的服務(wù)需要調(diào)用別人的接口,由于對(duì)方的接口服務(wù)不是很穩(wěn)定,經(jīng)常超時(shí),于是需要增加一套重試邏輯。這里使用 Spring Retry 的方式來(lái)實(shí)現(xiàn)。 一、引入POM 二、 修改啟動(dòng)類 在Spring Boot 應(yīng)用入口啟動(dòng)類,也就是配置類的上面加上 @EnableRetry 注解,表示讓重試機(jī)制生效。 注意

    2024年02月08日
    瀏覽(18)
  • Springboot 中接口服務(wù)重試機(jī)制

    在平時(shí)開發(fā)中可能在調(diào)用服務(wù)時(shí)會(huì)遇到調(diào)用失敗的情況,在springboot 中retery 機(jī)制可以很好的滿足我們的開發(fā)場(chǎng)景,下面舉個(gè)簡(jiǎn)單的例子模擬第三方調(diào)用。 使用起來(lái)很簡(jiǎn)單,只需要在引入相關(guān)jar,并且在啟動(dòng)的時(shí)候進(jìn)行開啟,這是springboot 的老套路,在我們服務(wù)層進(jìn)行?@Retryabl

    2024年01月22日
    瀏覽(17)
  • uniapp 出現(xiàn)連接服務(wù)器超時(shí),點(diǎn)擊屏幕重試

    可以從以下幾個(gè)方面排查問題: ?? 當(dāng) Uniapp 應(yīng)用出現(xiàn)服務(wù)器超時(shí)的情況時(shí),可以采取以下步驟進(jìn)行排查: 1. 檢查網(wǎng)絡(luò)連接是否正常:首先需要檢查網(wǎng)絡(luò)連接是否正常,包括本地網(wǎng)絡(luò)和服務(wù)器網(wǎng)絡(luò),確保網(wǎng)絡(luò)連接穩(wěn)定。 2. 檢查服務(wù)器是否正常:需要檢查服務(wù)器是否正常運(yùn)行,

    2024年02月16日
    瀏覽(25)
  • 微服務(wù): 05-rabbitmq設(shè)置重試次數(shù)并設(shè)置死信隊(duì)列

    微服務(wù): 05-rabbitmq設(shè)置重試次數(shù)并設(shè)置死信隊(duì)列

    目錄 1. 上文傳送門:? 2. 前言簡(jiǎn)介:? 2.1 問: 消費(fèi)端重復(fù)循環(huán)異常如何解決? 2.2 為什么要使用死信隊(duì)列 2.3 案例思路 - ps: 以下案例經(jīng)過測(cè)試(思路一/二實(shí)現(xiàn)原理一樣) - 2.3.1 思路一? - 2.3.2 思路二 3. 案例代碼 3.1 簡(jiǎn)單介紹案例 3.2 聲明交換機(jī) 隊(duì)列 以及綁定路由鍵 3.3 修改配置文件

    2024年02月17日
    瀏覽(14)
  • 分布式重試服務(wù)平臺(tái) Easy-Retry

    分布式重試服務(wù)平臺(tái) Easy-Retry

    ??在介紹這款開源產(chǎn)品前先給大家介紹一個(gè)開源組織:aizuda–愛組搭 ??可以看到Easy-Retry就是愛組搭的開源項(xiàng)目之一。 ??在分布式系統(tǒng)大行其道的當(dāng)前,系統(tǒng)數(shù)據(jù)的準(zhǔn)確性和正確性是重大的挑戰(zhàn),基于CAP理論,采用柔性事務(wù),保障系統(tǒng)可用性以及數(shù)據(jù)的最終一致性成為

    2024年02月09日
    瀏覽(21)
  • copilot 很抱歉,目前無(wú)法連接到服務(wù)。請(qǐng)稍后重試或刷新

    copilot 很抱歉,目前無(wú)法連接到服務(wù)。請(qǐng)稍后重試或刷新

    微軟copilot 在gpt-3基礎(chǔ)上又加了很多新功能,輸入進(jìn)行了擴(kuò)展,包含了語(yǔ)音、圖片輸入等,輸出也更加豐富,包含了信息源、超鏈接、提取等。最重要的是可以獲得最新的消息。這個(gè)工具是學(xué)習(xí)路上的一大利器,可以極大提高檢索信息效率。 copilot優(yōu)勢(shì) 文本搜索 圖片搜

    2024年02月20日
    瀏覽(19)
  • 安全機(jī)密管理:Asp.Net Core中的本地敏感數(shù)據(jù)保護(hù)技巧

    安全機(jī)密管理:Asp.Net Core中的本地敏感數(shù)據(jù)保護(hù)技巧

    在我們開發(fā)過程中基本上不可或缺的用到一些敏感機(jī)密數(shù)據(jù),比如 SQL 服務(wù)器的連接串或者是 OAuth2 的 Secret 等,這些敏感數(shù)據(jù)在代碼中是不太安全的,我們不應(yīng)該在源代碼中存儲(chǔ)密碼和其他的敏感數(shù)據(jù),一種推薦的方式是通過 Asp.Net Core 的 機(jī)密管理器 。 在 ASP.NET Core 中,機(jī)密

    2024年04月25日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包