Proxy bidezko .NET HttpClient eskaera ezeztatzea epe-token batekin
Ezeztatu sare-eragiketa bera proxyaren epea amaitzean, deitzailearen zain egotea soilik mugatu beharrean.
Eman epea sare-lana ezeztatu dezakeen eragiketari. Proxy bidez konfiguratutako lehendik dagoen .NET HttpClient baterako:
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
using var response = await client.GetAsync(uri, deadline.Token);Aplikazioak client eta uri ematen ditu. Gehiegizko karga honek ezeztatze-tokena jasotzen du; bere zereginaren zain egotearen inguruko denbora-muga deitzaile horren zain egotea soilik mugatuko luke. Osatze-bandera bat galdetzeak arazo bera du: deitzailea joan daiteke socketak eta langileak okupatuta dauden bitartean.
Ezeztatzeak bezeroaren inplementazioa eta garbiketa-bidea jarraitzen ditu. Ez du agintzen maila baxuagoko ekintza bakoitza argibide zehatz batean geldituko denik. Utzi bide horri amaitzen eta askatu eragiketak dituen baliabideak. Sartu diseinuan bereiz kontrolatutako gorputz-irakurketa; .NET ResponseHeadersRead eragiketa moderno baterako, pasatu token bera gorputz-irakurketan zehar. Beste bezero batzuek beren ezeztatze-, abortatze- eta garbitze-interfazeak eskaintzen dituzte.
Berriz saiatzeak aurreko saiakeraren emaitza behar du. Gorde haren identifikatzailea eta hautatutako proxya, eskatu ezeztatzea behar denean eta saihestu zeregina galtzea ordezkoak amaigabe abiarazten dituzun bitartean. Bestela, amaiera-puntu geldo batek aplikazioak askatzen duen baino azkarrago pilatu dezake lana.
Urrutiko emaitzak aparteko tratamendua behar du. Baliteke helmugak bidalketa bat jada jaso izana ezeztatzea gertatzen denean. Erabili aplikazioaren berreskuratze- edo idempotentzia-politika; tokiko lana gelditzeak ez du urrutiko ekintza desegiten.