Допоміжна .NET-бібліотека Twilio приймає власну абстракцію HTTP-транспорту. Її адаптер SystemNetHttpClient дозволяє цьому транспорту використовувати System.Net.Http.HttpClient, налаштований застосунком.

var proxy = new System.Net.WebProxy(
    "http://proxy.example.net:8080")
{
    Credentials = proxyCredentials
};

var handler = new System.Net.Http.HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true,
    AllowAutoRedirect = false
};

var systemHttp = new System.Net.Http.HttpClient(handler);
var transport = new Twilio.Http.SystemNetHttpClient(systemHttp);
var twilioClient = new Twilio.Clients.TwilioRestClient(
    accountSid, authToken, httpClient: transport);

Застосунок надає proxyCredentials, наприклад відповідний NetworkCredential, а також наявні Twilio accountSid і authToken. Видаліть ініціалізатор Credentials, коли посереднику не потрібен обліковий запис. HTTP-кінцева точка, вибрана зі списку HTTP-проксі, — ще один кандидат для цього маршруту без автентифікації, з огляду на мережеву політику цього застосунку.

Передайте twilioClient у параметр client допоміжної операції. Інакше ця операція може використати окремо налаштований клієнт за замовчуванням.

Тут AllowAutoRedirect вимкнено, щоб зберегти типову поведінку адаптера SDK, коли він створює власний базовий клієнт. Якщо ви надаєте власний HttpClient, налаштування його обробника стають вашою відповідальністю.

Тримайте systemHttp активним протягом відповідного робочого навантаження та звільняйте його, коли воно завершиться. Новий обробник навколо кожного запиту SDK створює новий пул з'єднань замість повторного використання налаштованого транспорту.

Схожі статті