በጊዜ ገደብ ቶክን በፕሮክሲ የሚያልፍ የ.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 ተግባር ተመሳሳዩን ቶክን በአካል ንባብ በኩል አስተላልፍ። ሌሎች ደንበኞች የራሳቸውን የመሰረዝ፣ የማቋረጥና የጽዳት በይነገጾች ያቀርባሉ።
ድጋሚ ሙከራ ለቀደመው ሙከራ ውጤት ይፈልጋል። መለያውንና የተመረጠውን ፕሮክሲ አቆይ፣ በሚያስፈልግበት ጊዜ መሰረዝ ጠይቅ እና ምትክን ያለገደብ መጀመር ስራውን እንዳያጣ ተጠንቀቅ። አለበለዚያ ቀርፋፋ መጨረሻ ነጥብ መተግበሪያው ከሚለቀው በላይ ስራ ሊያካብት ይችላል።
የሩቅ ውጤት የተለየ አያያዝ ይፈልጋል። መሰረዙ ሲፈጸም መዳረሻው ልከኝነትን አስቀድሞ ተቀብሎ ሊሆን ይችላል። የመተግበሪያውን የመልሶ ማገገሚያ ወይም የድግግሞሽ መከላከያ ፖሊሲ ተጠቀም፤ የአካባቢ ስራን ማቆም የሩቅ እርምጃን አይመልስም።