నెట్‌వర్క్ పనిని రద్దు చేయగల ఆపరేషన్‌కు డెడ్‌లైన్ ఇవ్వండి. ప్రాక్సీ ద్వారా కాన్ఫిగర్ చేసిన ఇప్పటికే ఉన్న .NET HttpClient కోసం:

using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
using var response = await client.GetAsync(uri, deadline.Token);

అప్లికేషన్ client మరియు uri అందిస్తుంది. ఈ ఓవర్‌లోడ్ రద్దు టోకెన్‌ను స్వీకరిస్తుంది; దాని పని కోసం ఎదురుచూపు చుట్టూ ఉన్న టైమౌట్ ఆ కాలర్ ఎదురుచూపును మాత్రమే పరిమితం చేస్తుంది. పూర్తి ఫ్లాగ్‌ను పోల్ చేయడంలో కూడా అదే సమస్య ఉంది: సాకెట్లు మరియు వర్కర్లు బిజీగా ఉన్నప్పుడు కాలర్ వెళ్లిపోవచ్చు.

రద్దు క్లయింట్ అమలును మరియు శుభ్రపరిచే మార్గాన్ని అనుసరిస్తుంది. ప్రతి దిగువ స్థాయి చర్య ఖచ్చితమైన సూచన వద్ద ఆగుతుందని హామీ ఇవ్వదు. ఆ మార్గం పూర్తి కానివ్వండి మరియు ఆపరేషన్ కలిగి ఉన్న వనరులను విడుదల చేయండి. డిజైన్‌లో విడిగా నియంత్రించే బాడీ పఠనాన్ని చేర్చండి; ఆధునిక .NET ResponseHeadersRead ఆపరేషన్ కోసం, అదే టోకెన్‌ను బాడీ పఠనం ద్వారా పంపండి. ఇతర క్లయింట్లు తమ సొంత రద్దు, నిలిపివేత మరియు శుభ్రపరిచే ఇంటర్‌ఫేస్‌లను అందిస్తాయి.

మళ్లీ ప్రయత్నానికి మునుపటి ప్రయత్నం యొక్క ఫలితం కావాలి. దాని గుర్తింపు మరియు ఎంచుకున్న ప్రాక్సీని ఉంచండి, అవసరమైనప్పుడు రద్దు కోరండి మరియు ప్రత్యామ్నాయాలను అనంతంగా ప్రారంభిస్తూ పనిని కోల్పోకుండా ఉండండి. లేకపోతే నెమ్మదిగా ఉన్న ఎండ్‌పాయింట్ అప్లికేషన్ విడుదల చేసే దానికంటే వేగంగా పనిని కూడబెట్టుకోవచ్చు.

దూర ఫలితానికి ప్రత్యేక నిర్వహణ అవసరం. రద్దు సంభవించినప్పుడు గమ్యస్థానం ఇప్పటికే సమర్పణను స్వీకరించి ఉండవచ్చు. అప్లికేషన్ యొక్క రికవరీ లేదా idempotency విధానాన్ని ఉపయోగించండి; స్థానిక పనిని ఆపడం దూర చర్యను రద్దు చేయదు.

సంబంధిత వ్యాసాలు