|
|
Opslået på 28/05/2019 23.54.53
|
|
|
|

Dette indlæg blev sidst redigeret af Kongcida den 29-5-2019 kl. 11:16
forord I et projekt vil der være problemer med projektets drift af ukontrollerbare årsager. For eksempel en serverfejl, et servicenedbrud, netværksafbrydelse osv. Hvis vi støder på nogle gentagne fejl, kan vi bruge Polly —— . .NET elastiske og transiente fejlhåndteringsbiblioteker. Projektets officielle hjemmesideadresse (Hyperlink-login er synlig.)。 I dag vil denne artikel dokumentere Pollys dårlige retry-strategi.
Miljø & Værktøjer
>VS 2017
>Windows 10-system
Tekst
1: Opret en ny konsolapplikation.
2: Citat Polly. Tilgængelig til download i NuGet-pakken
3: Indsæt koden
4: F6 genererer. Find derefter den genererede .exe-fil under debug-mappen – > dobbeltklik for at køre.
Du kan se output-beskeden: Prøvet tre gange.
Når F5 fejlfinder, kan du også se, at denne metode er blevet brugt tre gange.
Pollys genforsøgsstrategi forklares i detaljer
1: Undtagelsestype
I denne kode indeholder :handle undtagelsestypen, der skal prøves igen. Det vil sige, når den udførte kode producerer en specifik undtagelse, udføres genprøvningsfunktionen. Ellers vil der ikke blive foretaget en ny prøve. Fordi nogle undtagelser ikke kræver en ny prøve.
Selvfølgelig kan vi udfylde en række specifikke undtagelsestyper her for at prøve igen.
DivideByZeroException her repræsenterer en undtagelse, der forsøger at dividere med nul. SqlException indikerer en undtagelse, der aktiveres, når SQL Server returnerer en fejl eller advarsel. For eksempel databaseforbindelsesfejl, SQL-eksekveringsfejl osv. SmtpException angiver en undtagelse, som postvæsenet har rejst. For eksempel mislykkedes afsendelsen, netværksforbindelsen fejlede, og e-mailkontooplysningerne var unormale.
For specifikke undtagelsestyper, henvis til Microsofts officielle dokumentation:
2: Gentagelsestype
1) Den første type genforsøg er et direkte givet antal omprøvninger. Følgende kode bliver kun prøvet igen 3 gange.
Vi kan kalde de relevante handlinger, der udføres ved hvert forsøg, når vi prøver igen. Følgende kode er en anden kommission senere. Når man udfører et forsøg, udskrives antallet af forsøg og årsagen til undtagelsen.
Vi kan også lade koden prøve igen, indtil det lykkes.
2) Den anden type forsøg er at gentage med jævne mellemrum. Følgende kode betyder, at man skal prøve igen hvert 2. sekund, 7. sekund eller 10. sekund. Prøv igen til 10 sekunder. Hvis udførelsen ikke lykkes, afslutes forsøget.
Vi kan også prøve igen med jævne mellemrum, indtil forsøget lykkes. Dette kræver beregning af en funktion.
Ovenstående kode henviser til potensforsøget af indirekte 2. For eksempel, hvis udførelsen fejler, vil første gang blive prøvet igen med intervaller på 2 sekunder, anden gang med intervaller på 4 sekunder, og tredje gang med intervaller på 8 sekunder......... Og så videre. Indtil udførelsen lykkes.
Epilog
Bemærk: Undtagelsestyperne i ovenstående kodehåndtering bør udfyldes i henhold til den faktiske situation i dit projekt. Ikke alle undtagelser kræver et nyt forsøg.
Undtagelsestypen er basisklassen for alle undtagelser. Det er bedst ikke at fylde dette i håndtaget, ellers vil det få meget alvorlige konsekvenser.
|
Tidligere:. Netintegration PayPal IPN returnværdi har altid været UGYLDIGNæste:C# Brug af yield-nøgleord
|