Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 22130|Atbildi: 3

[Rāmis] . .NET noturība un īslaicīga kļūmju apstrādes Polly atkārtota mēģinājuma stratēģija

[Kopēt saiti]
Publicēts 28.05.2019 23:54:53 | | | |
Šo ziņu pēdējo reizi rediģēja Kongcida 2019-5-29 11:16

priekšvārds
Projektā radīsies problēmas ar projekta darbību nekontrolējamu iemeslu dēļ. Piemēram, servera kļūme, pakalpojuma avārija, tīkla pārtraukums utt. Saskaroties ar dažām atkārtoti izmēģinājamām kļūdām, mēs varam izmantot Polly —— . .NET elastīgas un īslaicīgas kļūdu apstrādes bibliotēkas. Projekta oficiālā tīmekļa vietnes adrese (Hipersaites pieteikšanās ir redzama.)。 Šodien šis raksts dokumentēs Pollijas slikto atkārtošanas stratēģiju.


Vide un rīki


>VS 2017
>Windows 10 sistēma


Teksts


1: Izveidojiet jaunu konsoles lietojumprogrammu.

2: Citējiet Polliju. Pieejams lejupielādei NuGet pakotnē

3: Ielīmējiet kodu



4: F6 ģenerē. Pēc tam atrodiet ģenerēto .exe failu zem atkļūdošanas mapes - > veiciet dubultklikšķi, lai palaistu.



Var redzēt izvades ziņojumu: Mēģināts atkārtoti trīs reizes.

Kad F5 atkļūdo, varat arī redzēt, ka šī metode ir veikta trīs reizes.


Polly atkārtota mēģinājuma stratēģija ir detalizēti izskaidrota

1: Izņēmuma veids


Šajā kodā :handle satur atkārtojamo izņēmuma tipu. Tas ir, kad izpildītais kods rada konkrētu izņēmumu, tiek izpildīta atkārtota mēģinājuma funkcija. Pretējā gadījumā atkārtots mēģinājums netiks veikts. Jo dažiem izņēmumiem nav nepieciešams atkārtots mēģinājums.

Protams, mēs šeit varam aizpildīt vairākus īpašus izņēmumu veidus, lai mēģinātu atkārtoti.



DivideByZeroException šeit ir izņēmums, kas mēģina dalīt ar nulli.
SqlException norāda izņēmumu, kas rodas, kad Sql Server atgriež kļūdu vai brīdinājumu. Piemēram, datu bāzes savienojuma kļūme, SQL izpildes kļūda utt.
SmtpException norāda uz pasta pakalpojuma izvirzītu izņēmumu. Piemēram, sūtīšana neizdevās, tīkla savienojums neizdevās un e-pasta konta informācija bija nenormāla.

Lai uzzinātu konkrētus izņēmumu veidus, lūdzu, skatiet Microsoft oficiālo dokumentāciju:



2: Atkārtota mēģinājuma veids

1) Pirmais atkārtotā mēģinājuma veids ir tiešs mēģinājumu skaits. Tālāk norādītais kods tiek mēģināts atkārtoti tikai 3 reizes.

Mēs varam izsaukt attiecīgās darbības, kas veiktas katrā atkārtotā mēģinājumā, mēģinot atkārtoti. Šis kods ir vēl viena komisija vēlāk. Veicot atkārtotu mēģinājumu, tiek izdrukāts atkārtoto mēģinājumu skaits un izņēmuma iemesls.



Mēs varam arī saglabāt kodu atkārtoti, līdz tas izdodas.



2) Otrs atkārtota mēģinājuma veids ir atkārtota mēģināšana ar intervāliem. Šis kods nozīmē mēģināt atkārtoti ik pēc 2 sekundēm, 7 sekundēm vai 10 sekundēm. Mēģiniet vēlreiz uz 10 sekundēm. Ja izpilde neizdodas, pārtrauciet atkārtotu mēģinājumu.



Mēs varam arī mēģināt vēlreiz ar intervāliem, līdz atkārtots mēģinājums ir veiksmīgs. Tam ir nepieciešams aprēķināt funkciju.



Iepriekš minētais kods attiecas uz netiešā 2 jaudas atkārtošanu. Piemēram, ja izpilde neizdodas, pirmo reizi mēģinās atkārtoti ar 2 sekunžu intervālu, otro reizi mēģinās atkārtoti ar 4 sekunžu intervālu, bet trešo reizi mēģinās atkārtoti ar 8 sekunžu intervālu......... Un tā tālāk. Līdz izpilde ir veiksmīga.



Epilogs


Piezīmes: Izņēmumu veidi iepriekš minētajā kodā Rokturis jāaizpilda atbilstoši faktiskajai situācijai jūsu faktiskajā projektā. Ne visiem izņēmumiem ir nepieciešams atkārtots mēģinājums.

Izņēmuma tips ir visu izņēmumu pamatklase. Vislabāk to neaizpildīt rokturī, pretējā gadījumā tam būs ļoti nopietnas sekas.














Iepriekšējo:. Neto integrācija PayPal IPN atgriešanas vērtība vienmēr ir bijusi NEDERĪGA
Nākamo:C# Ienesīguma atslēgvārdu izmantošana
Publicēts 29.05.2019 09:17:54 |
Es pats ieviesu atkārtotas mēģināšanas mehānismu AOP, un galu galā es atklāju, ka Polly bibliotēka var apmierināt manas vajadzības, bet mana funkcija ir ieviesta, un es atsaucos uz trešās puses bibliotēku, kurā var būt kāds bezjēdzīgs kods, kas nevar optimizēt manu sistēmu, tāpēc tas pagaidām nav noderīgs.

Pievienots mans kods:



Kad man būs laiks, es arī apskatīšu Polly
Publicēts 29.05.2019 09:22:01 |
Xiao Zhaozha Publicēts 2019-5-29 09:17
Es pats ieviesu atkārtotas mēģināšanas mehānismu aop, un galu galā es atklāju, ka Polly bibliotēka varētu apmierināt manas vajadzības, bet mana funkcija ir īstenota, un ievads ...

Nav nekas slikts, ja pats darāt tādas mazas vajadzības kā šis
Un jums vajadzētu gaidīt nākamo reizi, lai mēģinātu atkārtoti
Publicēts 29.05.2019 09:29:22 |
Vēji Publicēts 2019-5-29 09:22
Nav nekas slikts, ja pats darāt tādas mazas vajadzības kā šis
Un vai jums vajadzētu gaidīt nākamo reizi, lai mēģinātu vēlreiz?

Nē, izņēmums ir jāizraisa vienlaicīguma, datu ievietošanas, atjaunināšanas un dzēšanas konfliktiem, bet ir jābūt tādam, kas tiks veiksmīgi izpildīts, es ....... Izlaistais kods aizpilda transakciju, un izņēmums tiks automātiski atcelts. Otrajā atkārtotajā mēģinājumā konflikts ir pagājis, tāpēc es nenoteicu gaidīšanas laiku.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com