Π‘ΡΡΠ°Π½Π½ΠΎ, ΡΡΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π²ΠΈΠΆΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Polly, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ:
πΈΠ·Π°Π΄Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°/ΡΠ°ΡΠΊΠΈ - Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ (ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ/Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΌΡ ΡΠ΅ΡΡΡΡΡ)
πΈΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ CircuitBreaker
πΈΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ fallbaΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ - Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΡΠ°ΠΊΠ°ΠΏΠΈΠ»ΡΡ - Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ (Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ)
Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΡΠ΅ΡΠ΅Π· Wrap ΡΡΠΎ Π²ΡΡ. ΠΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°ΠΌ Π²Π°Π³ΠΎΠ½. ΠΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ - ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 4 Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΡΡΠ°ΡΡΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Polly:
πΈ Introducing custom Polly policies and the Polly.Contrib
πΈ Authoring a non-reactive custom policy
πΈ Authoring a reactive custom policy
πΈ Custom policies for all execution types: sync and async, generic and non-generic
#dotnet
Post #203
230
- π₯ 3