Cleachd aon CancellationToken airson cinn is corp .NET HttpClient
Gluais CancellationToken an iarrtais tro shuidheachadh freagairt HttpClient agus tro leughadh a' chuirp le chèile, an àite dìreach feitheamh a' ghairmeadair a thomhas.
Faodaidh stad-fhaire stad air feitheamh fhad 's a tha an t-iarrtas HTTP a' leantainn. Thoir cur-às don obrachadh fhèin nuair a tha buidseat san amharc aig oidhirp trì progsaidh.
Airson tagradh .NET ùr-nodha le HttpClient air a rèiteachadh airson progsaidh ann mu thràth:
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);
Tòisichidh an aon bhuidseat mus tèid a rèiteachadh agus fuirichidh e gnìomhach fhad 's a tha an corp ga leughadh. Bheir ResponseHeadersRead smachd air ais às dèidh nan ceann, mar sin chan eil crìoch-ùine crìochnachaidh HttpClient fhèin a' mìneachadh buidseat leughaidh a' chuirp nas fhaide air adhart leis fhèin.
Cùm cur-às eadar-dhealaichte bho inbhe HTTP agus bho mhearachdan giùlain. Faodaidh OperationCanceledException tighinn bhon chomharra a chaidh a thoirt seachad no bho chrìoch-ùine eile a chaidh a rèiteachadh; rannsaich an t-ionad cur-às iomchaidh an àite a bhith ag aithris gach fàilligeadh mar progsaidh marbh.
Ath-chleachd an neach-dèiligidh a shealbhaicheas an t-slighe progsaidh seo. Chan fheum cur-às oidhirp ciallachadh gun tèid linne ceangail slàn ath-thogail airson gach iarrtas nas fhaide air adhart.
Bidh an eisimpleir a' bufadh corp freagairt crìochnaichte. Bu chòir do luchdadh sìos sruthach an comharra a chur tron lùb leth-bhreac srutha aige agus an fhreagairt a leigeil saor air gach slighe a-mach.
Tha cur-às a' cur an cèill poileasaidh obrach, chan e gealladh cloc-balla mionaideach airson gach gnìomh àrd-ùrlair bunaiteach. Seachain a chur na àite le lùb sgrùdaidh gun chrìoch air Task.IsCompleted.