Ghairi ombi la .NET HttpClient kupitia proksi kwa token ya muda
Ghairi operesheni ya mtandao yenyewe muda wa proksi unapokwisha, badala ya kumaliza tu kusubiri kwa mwitaji.
Pitisha muda kwa operesheni inayoweza kughairi kazi ya mtandao. Kwa .NET HttpClient iliyopo iliyosanidiwa kupitia proksi:
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
using var response = await client.GetAsync(uri, deadline.Token);Programu hutoa client na uri. Upakiaji huu hupokea token ya kughairi; muda wa kusubiri kazi yake utazuia tu kusubiri kwa mwitaji huyo. Kuchunguza bendera ya kukamilika kuna tatizo sawa: mwitaji anaweza kuondoka wakati soketi na wafanyakazi wanabaki na shughuli.
Kughairi hufuata utekelezaji wa mteja na njia ya kusafisha. Hakuahidi kwamba kila hatua ya ngazi ya chini itasimama kwenye maagizo mahususi. Acha njia hiyo ikamilike na uachilie rasilimali ambazo operesheni inamiliki. Jumuisha usomaji wa mwili unaodhibitiwa kando katika muundo; kwa operesheni ya kisasa ya .NET ResponseHeadersRead, pitisha token hiyo hiyo kupitia usomaji wa mwili. Wateja wengine hutoa violesura vyao vya kughairi, kusitisha na kusafisha.
Jaribio jipya linahitaji matokeo kwa jaribio lililopita. Hifadhi kitambulisho chake na proksi iliyochaguliwa, omba kughairi inapohitajika na epuka kupoteza kazi wakati wa kuanzisha vibadala bila kikomo. Vinginevyo endpoint ya polepole inaweza kukusanya kazi kwa kasi zaidi kuliko programu inavyoachilia.
Matokeo ya mbali yanahitaji utunzaji tofauti. Huenda lengo limeshapokea wasilisho wakati kughairi kunatokea. Tumia sera ya urejeshaji au idempotency ya programu; kusimamisha kazi ya ndani hakubatilishi kitendo cha mbali.