Зміна вже використаного обробника проксі .NET HttpClient може завершитися збоєм
Підтримуйте стабільну маршрутизацію проксі .NET під час одночасних запитів, а не змінюйте властивості обробника після використання.
Налаштуйте маршрутизацію обробника .NET перед першим використанням. Встановлення Proxy або UseProxy після початку запитів може спричинити InvalidOperationException.
| Зміна | Чого вона не дає |
|---|---|
| Перезапис властивості використаного обробника | Підтримуваного перемикача маршруту в межах запиту |
Зміна призначеного WebProxy.Address | Атомарного вибору для одночасних запитів або переміщення згрупованих з'єднань |
Розміщення глобального поточного значення всередині IWebProxy | Визначеної політики паралельності лише через переміщення стану |
Для обмеженого набору маршрутів зберігайте багаторазові клієнти/групи обробників, пов'язані з цими політиками, і вибирайте клієнт перед відправленням. Користувацький IWebProxy може ухвалювати навмисні, безпечні щодо паралельності рішення, але змінне спільне тимчасове значення залишається неоднозначним.
Обмежуйте клієнти маршрутів і поточну роботу за призначеннями, тривалістю, часом життя з'єднання та лімітами ОС. Більше маршрутів додає пули/сокети, тому кількість проксі в бенчмарку не є гарантією пропускної здатності.
Повторна спроба через інший проксі — це ще одна обмежена спроба з власним клієнтом/результатом. Для відправлень зберігайте можливість того, що перший запит було оброблено до зникнення його відповіді.