/
aprogrammer
/
dotnet-docs
Обзор
Документация
Войти
/
aprogrammer
/
dotnet-docs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
docs/fundamentals/networking/snippets/httpclient/Program.DnsRoundRobin.cs
28 строк
1 KB
Ahmet Ibrahim Aksoy
Adding HttpWebRequest to HttpClient Migration Guide (#42242)
27 сен 2024, 19:43
Не верифицирован
27 сен 2024, 19:43
cdb80ff
Код
Авторство
О чём код?
using System.Net; using System.Net.Http; using System.Net.Sockets; static partial class Program { const string Uri = "http://example.com"; // <DnsRoundRobinConnect> private static readonly DnsRoundRobinConnector s_roundRobinConnector = new( dnsRefreshInterval: TimeSpan.FromSeconds(10), endpointConnectTimeout: TimeSpan.FromSeconds(5)); static async Task DnsRoundRobinConnectAsync() { var handler = new SocketsHttpHandler { ConnectCallback = async (context, cancellation) => { Socket socket = await DnsRoundRobinConnector.Shared.ConnectAsync(context.DnsEndPoint, cancellation); // Or you can create and use your custom DnsRoundRobinConnector instance // Socket socket = await s_roundRobinConnector.ConnectAsync(context.DnsEndPoint, cancellation); return new NetworkStream(socket, ownsSocket: true); } }; var client = new HttpClient(handler); HttpResponseMessage response = await client.GetAsync(Uri); } // </DnsRoundRobinConnect> }