ডেডলাইন টোকেনেৰে প্ৰক্সিৰ মাজেৰে যোৱা .NET HttpClient অনুৰোধ বাতিল কৰক
কেৱল কলাৰৰ অপেক্ষাৰ সময় সীমা কৰাৰ পৰিৱৰ্তে প্ৰক্সি ডেডলাইন শেষ হ'লে নেটৱৰ্ক কাৰ্য্যটো নিজেই বাতিল কৰক।
ডেডলাইনটো সেই কাৰ্য্যলৈ দিয়ক যিয়ে নেটৱৰ্কৰ কাম বাতিল কৰিব পাৰে। প্ৰক্সিৰ বাবে সংৰচিত এটা .NET HttpClientৰ বাবে:
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
using var response = await client.GetAsync(uri, deadline.Token);এপ্লিকেশনে client আৰু uri যোগান ধৰে। এই অভাৰলোডে বাতিলকৰণ টোকেনটো লয়; ইয়াৰ টাস্কৰ বাবে অপেক্ষা কৰাৰ চাৰিওফালৰ টাইমআউটে কেৱল সেই কলাৰৰ অপেক্ষা সীমিত কৰিব। সম্পূৰ্ণতাৰ ফ্লেগ প'ল কৰাৰো একেই সমস্যা: ছকেট আৰু ৱৰ্কাৰ দখলত থকা অৱস্থাতেই কলাৰে আঁতৰি যাব পাৰে।
বাতিলকৰণে ক্লায়েণ্টৰ কাৰ্য্যকাৰিতা আৰু পৰিষ্কাৰ কৰাৰ পথ অনুসৰণ কৰে। ইয়াৰ অৰ্থ এইটো নহয় যে প্ৰতিটো নিম্নস্তৰীয় কাৰ্য্য এটা সঠিক নিৰ্দেশত বন্ধ হ'ব। সেই পথটো শেষ হ'বলৈ দিয়ক আৰু কাৰ্য্যই অধিকাৰ কৰা সম্পদবোৰ এৰি দিয়ক। ডিজাইনত পৃথকে নিয়ন্ত্ৰিত বডি পঢ়া অন্তৰ্ভুক্ত কৰক; আধুনিক .NET ResponseHeadersRead কাৰ্য্যৰ বাবে, একেই টোকেনটো বডি পঢ়াৰ মাজেৰে পাৰ কৰক। আন ক্লায়েণ্টে নিজৰ বাতিলকৰণ, এবৰ্ট আৰু পৰিষ্কাৰ কৰাৰ ইণ্টাৰফে'চ যোগান ধৰে।
পুনৰায় চেষ্টাৰ বাবে পূৰ্বৰ চেষ্টাৰ এটা ফলাফল প্ৰয়োজন। ইয়াৰ আইডেণ্টিফায়াৰ আৰু নিৰ্বাচিত প্ৰক্সি ৰাখক, প্ৰয়োজন হ'লে বাতিলকৰণ বিচাৰক আৰু অপৰিসীমভাৱে প্ৰতিস্থাপক আৰম্ভ কৰি কামটো হেৰুওৱাৰ পৰা বিৰত থাকক। নহ'লে এটা লেহেমীয়া এণ্ডপইণ্টে এপ্লিকেশনে মুকলি কৰাতকৈ বেগেৰে কাম জমা কৰিব পাৰে।
দূৰৰ ফলাফলৰ বাবে পৃথক পৰিচালনা প্ৰয়োজন। বাতিলকৰণ ঘটোৱাৰ সময়ত গন্তব্যই ইতিমধ্যে এটা দাখিল গ্ৰহণ কৰি থাকিব পাৰে। এপ্লিকেশ্বনৰ পুনৰুদ্ধাৰ বা idempotency নীতি ব্যৱহাৰ কৰক; স্থানীয় কাম বন্ধ কৰিলেও দূৰৰ কাৰ্য্য ঘূৰি নাহে।