.NET Core 2.x how to get the current active local network IPv4 address?(.NET Core 2.x 如何获取当前活动的本地网络 IPv4 地址?)
问题描述
在其上运行 WebService.就像我可以在 cmd.exe >ipconfig:
On which is running the WebService. Like the one I can get in cmd.exe > ipconfig:
我想要实现的是Kestrel的自动IP配置,比如:
What I would like to achieve is automatic IP configuration of Kestrel, like:
.UseKestrel(opts =>
{
opts.Listen(/*LocalIPv4ActiveAddress*/, 5000);
})
所以我可以用不同的活动网络接口(WiFi || 以太网)和不同的本地网络 IP 地址切换我的开发机器.
So I can switch my development machines with different active network interfaces (WiFi || Ethernet) and different local network IP addresses.
推荐答案
你可以试试这样的:
// 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();
}
这篇关于.NET Core 2.x 如何获取当前活动的本地网络 IPv4 地址?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:.NET Core 2.x 如何获取当前活动的本地网络 IPv4 地址?
基础教程推荐
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
