Kronometro batek itxaroteari utz dakioke HTTP eskaerak jarraitzen duen bitartean. Eman ezeztapena eragiketari berari proxy bidezko saiakera batek aurreikusitako aurrekontua duenean.

proxyrako konfiguratutako HttpClient bat duen .NET aplikazio moderno baterako:

using var budget = new CancellationTokenSource(TimeSpan.FromSeconds(5));
using var response = await client.GetAsync(
    targetUrl,
    HttpCompletionOption.ResponseHeadersRead,
    budget.Token);
response.EnsureSuccessStatusCode();
string body = await response.Content.ReadAsStringAsync(budget.Token);

Aurrekontu bera prestaketaren aurretik hasten da eta gorputza irakurtzen den bitartean aktibo jarraitzen du. ResponseHeadersRead-ek goiburuen ondoren itzultzen du kontrola, beraz HttpClients-en amaiera-denbora-mugak ez du berez zehazten geroagoko gorputz-irakurketaren aurrekontua.

Eduki ezeztapena HTTP egoeratik eta garraio-erroreetatik bereizita. OperationCanceledException bat emandako tokenetik edo beste denbora-muga konfiguratu batetik etor daiteke; aztertu dagokion ezeztatze-iturria, huts egite bakoitza proxy hilda gisa salatu beharrean.

Berrerabili proxy bide horren jabe den bezeroa. Saiakera bat ezeztatzeak ez du zertan esan nahi ondorengo eskaera bakoitzerako konexio-pool osoa berreraiki behar denik.

Adibideak erantzun-gorputz finitu bat bufferatzen du. Streaming bidezko deskargak tokena bere fluxu-kopia begiztatik pasatu eta erantzuna irteera-bide guztietan askatu beharko luke.

Ezeztapenak eragiketa-politika adierazten du, ez ordu-erlojuaren promesa zehatza plataformaren azpiko ekintza bakoitzerako. Saihestu Task.IsCompleted-en gaineko amaigabeko inkesta-begizta batekin ordezkatzea.

Erlazionatutako artikuluak