From 4d2fc3414d743f88f08b8311568364b898770c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=BA=E8=83=BD=E5=A4=A7=E7=9F=B3=E5=A4=B4?= Date: Tue, 3 Dec 2024 00:25:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E9=87=8D=E5=A4=8DIP=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NewLife.Core/Net/NetHelper.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/NewLife.Core/Net/NetHelper.cs b/NewLife.Core/Net/NetHelper.cs index d95fe055e..10acd068e 100644 --- a/NewLife.Core/Net/NetHelper.cs +++ b/NewLife.Core/Net/NetHelper.cs @@ -424,9 +424,22 @@ public static IEnumerable GetIPs() // 带网关的接口地址很重要,优先返回 // Linux下不支持PrefixOrigin - var ips = dic.OrderByDescending(e => e.Value) - //.ThenByDescending(e => e.Key.PrefixOrigin == PrefixOrigin.Dhcp || e.Key.PrefixOrigin == PrefixOrigin.Manual) - .Select(e => e.Key.Address).ToList(); + //var ips = dic.OrderByDescending(e => e.Value) + // //.ThenByDescending(e => e.Key.PrefixOrigin == PrefixOrigin.Dhcp || e.Key.PrefixOrigin == PrefixOrigin.Manual) + // .Select(e => e.Key.Address).ToList(); + + // 去除重复IP地址 + var ips = new List(); + var hash = new List(); + foreach (var item in dic.OrderByDescending(e => e.Value)) + { + var address = item.Key.Address + ""; + if (!hash.Contains(address)) + { + ips.Add(item.Key.Address); + hash.Add(address); + } + } return ips; }