加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – .NET Core 2.x如何获取当前活动的本地网络IPv4地址?

发布时间:2020-12-16 01:26:53 所属栏目:百科 来源:网络整理
导读:在哪个运行WebService.就像我可以在cmd.exe中获得的那个 IPCONFIG: 我想要实现的是Kestrel的自动IP配置,例如: .UseKestrel(opts = { opts.Listen(/*LocalIPv4ActiveAddress*/,5000); }) 所以我可以用不同的有源网络接口(WiFi ||以太网)和不同的本地网络IP
在哪个运行WebService.就像我可以在cmd.exe中获得的那个> IPCONFIG:

enter image description here

我想要实现的是Kestrel的自动IP配置,例如:

.UseKestrel(opts => 
    { 
        opts.Listen(/*LocalIPv4ActiveAddress*/,5000);
    })

所以我可以用不同的有源网络接口(WiFi ||以太网)和不同的本地网络IP地址切换我的开发机器.

解决方法

你可以尝试这样的事情:

// order interfaces by speed and filter out down and loopback
// take first of the remaining
var firstUpInterface = NetworkInterface.GetAllNetworkInterfaces()
    .OrderByDescending(c => c.Speed)
    .FirstOrDefault(c => c.NetworkInterfaceType != NetworkInterfaceType.Loopback && c.OperationalStatus == OperationalStatus.Up);
if (firstUpInterface != null) {
    var props = firstUpInterface.GetIPProperties();
    // get first IPV4 address assigned to this interface
    var firstIpV4Address = props.UnicastAddresses
        .Where(c => c.Address.AddressFamily == AddressFamily.InterNetwork)
        .Select(c => c.Address)
        .FirstOrDefault();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读