博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
netcore 获取本地网络IP地址
阅读量:6851 次
发布时间:2019-06-26

本文共 625 字,大约阅读时间需要 2 分钟。

。net framework 下面可以用下面的代码获取到本地网络ip地址。netcore下面这个代码也依然可以用

System.Net.Dns.GetHostName()System.Net.Dns.GetHostEntry(hostName)

But,偶然的一次线上日志查看,发现获取到的IP全都是127.0.0.1。虽然本地windows测试上面的代码好使,本地测试环境centos7也好使。就是线上部分机器有问题,

遂写了个demo程序放产线上跑了一下,发现GetHostEntry里面只有一张网卡的信息,即本地回环的那个(lo);

后,经过伟大的google教训:找到,遂恍然大悟,应该这样写:

System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()  .Select(p => p.GetIPProperties())  .SelectMany(p => p.UnicastAddresses)  .Where(p => p.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork && !System.Net.IPAddress.IsLoopback(p.Address))  .FirstOrDefault()?.Address.ToString();

参考:

转载地址:http://kjgul.baihongyu.com/

你可能感兴趣的文章
一次滚动一屏的滚动条行为实现
查看>>
.NET面试题(三)
查看>>
自定义TreeList单元格 z
查看>>
【百度地图】- 学习.1
查看>>
JS函数重载解决方案
查看>>
Nginx中的rewrite指令
查看>>
CSS系列:CSS3新增选择器
查看>>
IDDD 实现领域驱动设计-一个简单的 CQRS 示例
查看>>
IOS开发基础知识--碎片16
查看>>
Java的HashSet类
查看>>
Putty设置删除
查看>>
圈真的决定你的未来?
查看>>
各种分布式文件系统简介
查看>>
40 - 找出数组中仅仅出现一次的数字
查看>>
python spark 求解最大 最小 平均 中位数
查看>>
Stream API
查看>>
Turning off “Language Service Disabled” error message in VS2017
查看>>
C#根据句柄改变窗体控件值
查看>>
Beam编程系列之Python SDK Quickstart(官网的推荐步骤)
查看>>
Dropping TSO features since no CSUM feature
查看>>