நெட்வொர்க் வேலையை ரத்துசெய்யக்கூடிய செயல்பாட்டுக்கு காலக்கெடுவை அனுப்புங்கள். ப்ராக்ஸி மூலம் உள்ளமைக்கப்பட்ட ஏற்கனவே உள்ள .NET HttpClient க்கு:

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

பயன்பாடு client மற்றும் uri வழங்குகிறது. இந்த ஓவர்லோட் ரத்துசெய்தல் டோக்கனைப் பெறுகிறது; அதன் பணிக்காகக் காத்திருப்பைச் சுற்றியுள்ள நேர வரம்பு அந்த அழைப்பவரின் காத்திருப்பை மட்டுமே வரம்பிடும். நிறைவு கொடியை வினவுவதும் அதே சிக்கலைக் கொண்டுள்ளது: சாக்கெட்டுகளும் பணியாளர்களும் பிஸியாக இருக்கும்போது அழைப்பவர் வெளியேறலாம்.

ரத்துசெய்தல் கிளையண்டின் செயலாக்கத்தையும் சுத்தம் செய்யும் பாதையையும் பின்பற்றுகிறது. கீழ்நிலை ஒவ்வொரு செயலும் சரியான கட்டளையில் நிற்கும் என்று அது உறுதியளிக்கவில்லை. அந்தப் பாதை முடியட்டும், செயல்பாடு வைத்திருக்கும் வளங்களை விடுவிக்கவும். தனித்தனியாக கட்டுப்படுத்தப்படும் உடல் வாசிப்பை வடிவமைப்பில் சேர்க்கவும்; நவீன .NET ResponseHeadersRead செயல்பாட்டுக்கு, அதே டோக்கனை உடல் வாசிப்பின் வழியாக அனுப்புங்கள். மற்ற கிளையண்டுகள் தங்கள் சொந்த ரத்து, நிறுத்தம் மற்றும் சுத்தம் செய்யும் இடைமுகங்களை வழங்குகின்றன.

மறுமுயற்சிக்கு முந்தைய முயற்சியின் முடிவு தேவை. அதன் அடையாளத்தையும் தேர்ந்தெடுத்த ப்ராக்ஸியையும் வைத்திருங்கள், தேவைப்படும்போது ரத்துசெய்தலைக் கோருங்கள், மாற்றுகளை முடிவில்லாமல் தொடங்கும்போது பணியை இழப்பதைத் தவிர்க்கவும். இல்லையெனில் மெதுவான இறுதிப்புள்ளி பயன்பாடு விடுவிப்பதை விட வேகமாக வேலையைக் குவிக்கலாம்.

தொலைதூர முடிவுக்கு தனி கையாளுதல் தேவை. ரத்துசெய்தல் நிகழும்போது இலக்கு ஏற்கனவே சமர்ப்பிப்பைப் பெற்றிருக்கலாம். பயன்பாட்டின் மீட்பு அல்லது idempotency கொள்கையைப் பயன்படுத்துங்கள்; உள்ளூர் வேலையை நிறுத்துவது தொலைதூர செயலை ரத்துசெய்யாது.

தொடர்புடைய கட்டுரைகள்