Выкарыстанне HTTP-проксі з .NET-кліентам Twilio
Агарніце System.Net.Http.HttpClient, які ўлічвае проксі, адаптарам SystemNetHttpClient ад Twilio і перадайце яго ў TwilioRestClient.
Дапаможная .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 стварае новы пул злучэнняў замест паўторнага выкарыстання наладжанага транспарту.