Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 24a970c

Browse files
committed
Only use DNS if it's not an IP Address
1 parent 9c8571a commit 24a970c

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

src/ServiceStack.Redis/RedisNativeClient_Utils.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,25 @@ private void Connect()
9090
try
9191
{
9292
#if NETSTANDARD2_0
93-
var addresses = Dns.GetHostAddressesAsync(Host).Result;
94-
socket.Connect(addresses.FirstOrDefault(a => a.AddressFamily == AddressFamily.InterNetwork), Port);
93+
if (IPAddress.TryParse(Host, out var ip))
94+
{
95+
socket.Connect(ip, Port);
96+
}
97+
else
98+
{
99+
var addresses = Dns.GetHostAddressesAsync(Host).Result;
100+
socket.Connect(addresses.FirstOrDefault(a => a.AddressFamily == AddressFamily.InterNetwork), Port);
101+
}
95102
#else
96103
if (ConnectTimeout <= 0)
97104
{
98105
socket.Connect(Host, Port);
99106
}
100107
else
101108
{
102-
var connectResult = socket.BeginConnect(Host, Port, null, null);
109+
var connectResult = IPAddress.TryParse(Host, out var ip)
110+
? socket.BeginConnect(ip, Port, null, null)
111+
: socket.BeginConnect(Host, Port, null, null);
103112
connectResult.AsyncWaitHandle.WaitOne(ConnectTimeout, true);
104113
}
105114
#endif

0 commit comments

Comments
 (0)