diff --git a/snippets/csharp/System.Net.Http/SocketsHttpHandler/ConnectCallback/program.cs b/snippets/csharp/System.Net.Http/SocketsHttpHandler/ConnectCallback/program.cs index feec305fbb7..3ee31d37fe3 100644 --- a/snippets/csharp/System.Net.Http/SocketsHttpHandler/ConnectCallback/program.cs +++ b/snippets/csharp/System.Net.Http/SocketsHttpHandler/ConnectCallback/program.cs @@ -1,5 +1,4 @@ -using System; -using System.IO; +using System; using System.Net; using System.Net.Http; using System.Net.Sockets; @@ -14,6 +13,8 @@ static async Task Main() handler.ConnectCallback = async (ctx, ct) => { + DnsEndPoint dnsEndPoint = ctx.DnsEndPoint; + IPAddress[] addresses = await Dns.GetHostAddressesAsync(dnsEndPoint.Host, dnsEndPoint.AddressFamily, ct); var s = new Socket(SocketType.Stream, ProtocolType.Tcp) { NoDelay = true }; try { @@ -21,7 +22,8 @@ static async Task Main() s.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.TcpKeepAliveTime, 5); s.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.TcpKeepAliveInterval, 5); s.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.TcpKeepAliveRetryCount, 5); - await s.ConnectAsync(ctx.DnsEndPoint, ct); + + await s.ConnectAsync(addresses, dnsEndPoint.Port, ct); return new NetworkStream(s, ownsSocket: true); } catch