Прокси аркылуу өтүүчү .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 саясатын колдонуңуз; жергиликтүү ишти токтотуу алыскы аракетти жокко чыгарбайт.