ሰዓት መቁጠሪያው መጠበቅን ሊያቆም ይችላል፣ የHTTP ጥያቄው ግን ይቀጥላል። የፕሮክሲ ሙከራ የታሰበ በጀት ሲኖረው ለሥራው ራሱ ስረዛን ያቅርቡ።

ነባር ፕሮክሲ የተዋቀረለት HttpClient ያለው ዘመናዊ .NET መተግበሪያ ላይ፦

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);

ተመሳሳዩ በጀት ከዝግጅቱ በፊት ይጀምራል እና አካሉ እየተነበበ ሳለ ንቁ ሆኖ ይቆያል። ResponseHeadersRead ከራስጌዎቹ በኋላ ቁጥጥርን ይመልሳል፣ ስለዚህ የHttpClient የራሱ የማጠናቀቂያ ጊዜ ገደብ በራሱ የኋለኛውን የአካል ንባብ በጀት አይወስንም።

ስረዛን ከHTTP ሁኔታና ከመጓጓዣ ስህተቶች ለያዩት። OperationCanceledException ከተሰጠው ቶከን ወይም ከሌላ የተዋቀረ የጊዜ ገደብ ሊመጣ ይችላል፤ እያንዳንዱን ውድቀት እንደ የሞተ ፕሮክሲ ከመመዝገብ ይልቅ ተግባራዊውን የስረዛ ምንጭ ይመርምሩ።

ይህን የፕሮክሲ መስመር የሚይዘውን ደንበኛ በድጋሚ ይጠቀሙ። ሙከራን መሰረዝ ለእያንዳንዱ ቀጣይ ጥያቄ መላውን የግንኙነት ገንዳ መገንባት ማለት አይደለም።

ምሳሌው ውስን የሆነ የምላሽ አካል በማስቀመጫ ይይዛል። ዥረት አውርድ ቶከኑን በዥረት-ቅጂ ዑደቱ ውስጥ ማሳለፍና ምላሹን በእያንዳንዱ መውጫ መንገድ መልቀቅ አለበት።

ስረዛ የአሠራር ፖሊሲን ይገልጻል እንጂ ለእያንዳንዱ መሠረታዊ የመድረክ እርምጃ ትክክለኛ የግድግዳ ሰዓት ቃል አይደለም። በTask.IsCompleted ላይ ማለቂያ በሌለው የምርመራ ዑደት ከመተካት ይቆጠቡ።

ተዛማጅ ጽሑፎች