Š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.
|