ڈیڈ لائن اُس آپریشن کو دیں جو نیٹ ورک کام منسوخ کر سکتا ہے۔ پروکسی کے ذریعے ترتیب دی گئی موجودہ .NET HttpClient کے لیے:

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

ایپلیکیشن client اور uri فراہم کرتی ہے۔ یہ اوورلوڈ منسوخی ٹوکن وصول کرتا ہے؛ اس کے ٹاسک کے انتظار کے گرد ٹائم آؤٹ صرف اُس کال کرنے والے کا انتظار محدود کرے گا۔ تکمیل کے جھنڈے کو پول کرنے میں بھی یہی مسئلہ ہے: کال کرنے والا جا سکتا ہے جبکہ ساکٹ اور ورکر مصروف رہتے ہیں۔

منسوخی کلائنٹ کے نفاذ اور صفائی کے راستے کی پیروی کرتی ہے۔ یہ وعدہ نہیں کرتی کہ ہر نچلی سطح کا عمل کسی درست ہدایت پر رکے گا۔ اُس راستے کو مکمل ہونے دیں اور آپریشن کے زیرِ ملکیت وسائل چھوڑ دیں۔ ڈیزائن میں الگ سے کنٹرول شدہ باڈی پڑھائی شامل کریں؛ جدید .NET ResponseHeadersRead آپریشن کے لیے، وہی ٹوکن باڈی پڑھائی کے ذریعے بھیجیں۔ دیگر کلائنٹ اپنے منسوخی، روک تھام اور صفائی کے انٹرفیس فراہم کرتے ہیں۔

دوبارہ کوشش کے لیے پچھلی کوشش کا نتیجہ درکار ہے۔ اُس کی شناخت اور منتخب پروکسی رکھیں، ضرورت پڑنے پر منسوخی طلب کریں اور متبادل لامحدود آغاز کرتے ہوئے کام کھونے سے بچیں۔ ورنہ سست اینڈ پوائنٹ ایپلیکیشن کے چھوڑنے سے تیز کام جمع کر سکتا ہے۔

دور کا نتیجہ الگ ہینڈلنگ مانگتا ہے۔ منسوخی کے وقت منزل کو پہلے ہی جمع کرائی جا چکی ہو سکتی ہے۔ ایپلیکیشن کی ریکوری یا idempotency پالیسی استعمال کریں؛ مقامی کام روکنے سے دور کا عمل واپس نہیں ہوتا۔

متعلقہ مضامین